1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtk.c.types;
26 
27 public import atk.c.types;
28 public import cairo.c.types;
29 public import gdk.c.types;
30 public import gdkpixbuf.c.types;
31 public import gio.c.types;
32 public import glib.c.types;
33 public import gobject.c.types;
34 public import pango.c.types;
35 
36 alias GtkAllocation* Allocation;
37 
38 /**
39  * A #GtkAllocation-struct of a widget represents region
40  * which has been allocated to the widget by its parent. It is a subregion
41  * of its parents allocation. See
42  * [GtkWidget’s geometry management section][geometry-management] for
43  * more information.
44  */
45 public alias GdkRectangle GtkAllocation;
46 
47 public alias char* GtkStock;
48 
49 /**
50  * Accelerator flags used with gtk_accel_group_connect().
51  */
52 public enum GtkAccelFlags
53 {
54 	/**
55 	 * Accelerator is visible
56 	 */
57 	VISIBLE = 1,
58 	/**
59 	 * Accelerator not removable
60 	 */
61 	LOCKED = 2,
62 	/**
63 	 * Mask
64 	 */
65 	MASK = 7,
66 }
67 alias GtkAccelFlags AccelFlags;
68 
69 /**
70  * Controls how a widget deals with extra space in a single (x or y)
71  * dimension.
72  *
73  * Alignment only matters if the widget receives a “too large” allocation,
74  * for example if you packed the widget with the #GtkWidget:expand
75  * flag inside a #GtkBox, then the widget might get extra space.  If
76  * you have for example a 16x16 icon inside a 32x32 space, the icon
77  * could be scaled and stretched, it could be centered, or it could be
78  * positioned to one side of the space.
79  *
80  * Note that in horizontal context @GTK_ALIGN_START and @GTK_ALIGN_END
81  * are interpreted relative to text direction.
82  *
83  * GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and
84  * it is only supported for vertical alignment.  When its not supported by
85  * a child or a container it is treated as @GTK_ALIGN_FILL.
86  */
87 public enum GtkAlign
88 {
89 	/**
90 	 * stretch to fill all space if possible, center if
91 	 * no meaningful way to stretch
92 	 */
93 	FILL = 0,
94 	/**
95 	 * snap to left or top side, leaving space on right
96 	 * or bottom
97 	 */
98 	START = 1,
99 	/**
100 	 * snap to right or bottom side, leaving space on left
101 	 * or top
102 	 */
103 	END = 2,
104 	/**
105 	 * center natural width of widget inside the
106 	 * allocation
107 	 */
108 	CENTER = 3,
109 	/**
110 	 * align the widget according to the baseline. Since 3.10.
111 	 */
112 	BASELINE = 4,
113 }
114 alias GtkAlign Align;
115 
116 /**
117  * Types of user actions that may be blocked by gtk_application_inhibit().
118  *
119  * Since: 3.4
120  */
121 public enum GtkApplicationInhibitFlags
122 {
123 	/**
124 	 * Inhibit ending the user session
125 	 * by logging out or by shutting down the computer
126 	 */
127 	LOGOUT = 1,
128 	/**
129 	 * Inhibit user switching
130 	 */
131 	SWITCH = 2,
132 	/**
133 	 * Inhibit suspending the
134 	 * session or computer
135 	 */
136 	SUSPEND = 4,
137 	/**
138 	 * Inhibit the session being
139 	 * marked as idle (and possibly locked)
140 	 */
141 	IDLE = 8,
142 }
143 alias GtkApplicationInhibitFlags ApplicationInhibitFlags;
144 
145 /**
146  * Used to specify the placement of scroll arrows in scrolling menus.
147  */
148 public enum GtkArrowPlacement
149 {
150 	/**
151 	 * Place one arrow on each end of the menu.
152 	 */
153 	BOTH = 0,
154 	/**
155 	 * Place both arrows at the top of the menu.
156 	 */
157 	START = 1,
158 	/**
159 	 * Place both arrows at the bottom of the menu.
160 	 */
161 	END = 2,
162 }
163 alias GtkArrowPlacement ArrowPlacement;
164 
165 /**
166  * Used to indicate the direction in which an arrow should point.
167  */
168 public enum GtkArrowType
169 {
170 	/**
171 	 * Represents an upward pointing arrow.
172 	 */
173 	UP = 0,
174 	/**
175 	 * Represents a downward pointing arrow.
176 	 */
177 	DOWN = 1,
178 	/**
179 	 * Represents a left pointing arrow.
180 	 */
181 	LEFT = 2,
182 	/**
183 	 * Represents a right pointing arrow.
184 	 */
185 	RIGHT = 3,
186 	/**
187 	 * No arrow. Since 2.10.
188 	 */
189 	NONE = 4,
190 }
191 alias GtkArrowType ArrowType;
192 
193 /**
194  * An enum for determining the page role inside the #GtkAssistant. It's
195  * used to handle buttons sensitivity and visibility.
196  *
197  * Note that an assistant needs to end its page flow with a page of type
198  * %GTK_ASSISTANT_PAGE_CONFIRM, %GTK_ASSISTANT_PAGE_SUMMARY or
199  * %GTK_ASSISTANT_PAGE_PROGRESS to be correct.
200  *
201  * The Cancel button will only be shown if the page isn’t “committed”.
202  * See gtk_assistant_commit() for details.
203  */
204 public enum GtkAssistantPageType
205 {
206 	/**
207 	 * The page has regular contents. Both the
208 	 * Back and forward buttons will be shown.
209 	 */
210 	CONTENT = 0,
211 	/**
212 	 * The page contains an introduction to the
213 	 * assistant task. Only the Forward button will be shown if there is a
214 	 * next page.
215 	 */
216 	INTRO = 1,
217 	/**
218 	 * The page lets the user confirm or deny the
219 	 * changes. The Back and Apply buttons will be shown.
220 	 */
221 	CONFIRM = 2,
222 	/**
223 	 * The page informs the user of the changes
224 	 * done. Only the Close button will be shown.
225 	 */
226 	SUMMARY = 3,
227 	/**
228 	 * Used for tasks that take a long time to
229 	 * complete, blocks the assistant until the page is marked as complete.
230 	 * Only the back button will be shown.
231 	 */
232 	PROGRESS = 4,
233 	/**
234 	 * Used for when other page types are not
235 	 * appropriate. No buttons will be shown, and the application must
236 	 * add its own buttons through gtk_assistant_add_action_widget().
237 	 */
238 	CUSTOM = 5,
239 }
240 alias GtkAssistantPageType AssistantPageType;
241 
242 /**
243  * Denotes the expansion properties that a widget will have when it (or its
244  * parent) is resized.
245  */
246 public enum GtkAttachOptions
247 {
248 	/**
249 	 * the widget should expand to take up any extra space in its
250 	 * container that has been allocated.
251 	 */
252 	EXPAND = 1,
253 	/**
254 	 * the widget should shrink as and when possible.
255 	 */
256 	SHRINK = 2,
257 	/**
258 	 * the widget should fill the space allocated to it.
259 	 */
260 	FILL = 4,
261 }
262 alias GtkAttachOptions AttachOptions;
263 
264 /**
265  * Whenever a container has some form of natural row it may align
266  * children in that row along a common typographical baseline. If
267  * the amount of verical space in the row is taller than the total
268  * requested height of the baseline-aligned children then it can use a
269  * #GtkBaselinePosition to select where to put the baseline inside the
270  * extra availible space.
271  *
272  * Since: 3.10
273  */
274 public enum GtkBaselinePosition
275 {
276 	/**
277 	 * Align the baseline at the top
278 	 */
279 	TOP = 0,
280 	/**
281 	 * Center the baseline
282 	 */
283 	CENTER = 1,
284 	/**
285 	 * Align the baseline at the bottom
286 	 */
287 	BOTTOM = 2,
288 }
289 alias GtkBaselinePosition BaselinePosition;
290 
291 /**
292  * Describes how the border of a UI element should be rendered.
293  */
294 public enum GtkBorderStyle
295 {
296 	/**
297 	 * No visible border
298 	 */
299 	NONE = 0,
300 	/**
301 	 * A single line segment
302 	 */
303 	SOLID = 1,
304 	/**
305 	 * Looks as if the content is sunken into the canvas
306 	 */
307 	INSET = 2,
308 	/**
309 	 * Looks as if the content is coming out of the canvas
310 	 */
311 	OUTSET = 3,
312 	/**
313 	 * Same as @GTK_BORDER_STYLE_NONE
314 	 */
315 	HIDDEN = 4,
316 	/**
317 	 * A series of round dots
318 	 */
319 	DOTTED = 5,
320 	/**
321 	 * A series of square-ended dashes
322 	 */
323 	DASHED = 6,
324 	/**
325 	 * Two parallel lines with some space between them
326 	 */
327 	DOUBLE = 7,
328 	/**
329 	 * Looks as if it were carved in the canvas
330 	 */
331 	GROOVE = 8,
332 	/**
333 	 * Looks as if it were coming out of the canvas
334 	 */
335 	RIDGE = 9,
336 }
337 alias GtkBorderStyle BorderStyle;
338 
339 /**
340  * Error codes that identify various errors that can occur while using
341  * #GtkBuilder.
342  */
343 public enum GtkBuilderError
344 {
345 	/**
346 	 * A type-func attribute didn’t name
347 	 * a function that returns a #GType.
348 	 */
349 	INVALID_TYPE_FUNCTION = 0,
350 	/**
351 	 * The input contained a tag that #GtkBuilder
352 	 * can’t handle.
353 	 */
354 	UNHANDLED_TAG = 1,
355 	/**
356 	 * An attribute that is required by
357 	 * #GtkBuilder was missing.
358 	 */
359 	MISSING_ATTRIBUTE = 2,
360 	/**
361 	 * #GtkBuilder found an attribute that
362 	 * it doesn’t understand.
363 	 */
364 	INVALID_ATTRIBUTE = 3,
365 	/**
366 	 * #GtkBuilder found a tag that
367 	 * it doesn’t understand.
368 	 */
369 	INVALID_TAG = 4,
370 	/**
371 	 * A required property value was
372 	 * missing.
373 	 */
374 	MISSING_PROPERTY_VALUE = 5,
375 	/**
376 	 * #GtkBuilder couldn’t parse
377 	 * some attribute value.
378 	 */
379 	INVALID_VALUE = 6,
380 	/**
381 	 * The input file requires a newer version
382 	 * of GTK+.
383 	 */
384 	VERSION_MISMATCH = 7,
385 	/**
386 	 * An object id occurred twice.
387 	 */
388 	DUPLICATE_ID = 8,
389 	/**
390 	 * A specified object type is of the same type or
391 	 * derived from the type of the composite class being extended with builder XML.
392 	 */
393 	OBJECT_TYPE_REFUSED = 9,
394 	/**
395 	 * The wrong type was specified in a composite class’s template XML
396 	 */
397 	TEMPLATE_MISMATCH = 10,
398 	/**
399 	 * The specified property is unknown for the object class.
400 	 */
401 	INVALID_PROPERTY = 11,
402 	/**
403 	 * The specified signal is unknown for the object class.
404 	 */
405 	INVALID_SIGNAL = 12,
406 	/**
407 	 * An object id is unknown
408 	 */
409 	INVALID_ID = 13,
410 }
411 alias GtkBuilderError BuilderError;
412 
413 /**
414  * Used to dictate the style that a #GtkButtonBox uses to layout the buttons it
415  * contains.
416  */
417 public enum GtkButtonBoxStyle
418 {
419 	/**
420 	 * Buttons are evenly spread across the box.
421 	 */
422 	SPREAD = 1,
423 	/**
424 	 * Buttons are placed at the edges of the box.
425 	 */
426 	EDGE = 2,
427 	/**
428 	 * Buttons are grouped towards the start of the box,
429 	 * (on the left for a HBox, or the top for a VBox).
430 	 */
431 	START = 3,
432 	/**
433 	 * Buttons are grouped towards the end of the box,
434 	 * (on the right for a HBox, or the bottom for a VBox).
435 	 */
436 	END = 4,
437 	/**
438 	 * Buttons are centered in the box. Since 2.12.
439 	 */
440 	CENTER = 5,
441 	/**
442 	 * Buttons expand to fill the box. This entails giving
443 	 * buttons a "linked" appearance, making button sizes homogeneous, and
444 	 * setting spacing to 0 (same as calling gtk_box_set_homogeneous() and
445 	 * gtk_box_set_spacing() manually). Since 3.12.
446 	 */
447 	EXPAND = 6,
448 }
449 alias GtkButtonBoxStyle ButtonBoxStyle;
450 
451 /**
452  * The role specifies the desired appearance of a #GtkModelButton.
453  */
454 public enum GtkButtonRole
455 {
456 	/**
457 	 * A plain button
458 	 */
459 	NORMAL = 0,
460 	/**
461 	 * A check button
462 	 */
463 	CHECK = 1,
464 	/**
465 	 * A radio button
466 	 */
467 	RADIO = 2,
468 }
469 alias GtkButtonRole ButtonRole;
470 
471 /**
472  * Prebuilt sets of buttons for the dialog. If
473  * none of these choices are appropriate, simply use %GTK_BUTTONS_NONE
474  * then call gtk_dialog_add_buttons().
475  *
476  * > Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO
477  * > and %GTK_BUTTONS_OK_CANCEL are discouraged by the
478  * > [GNOME Human Interface Guidelines](http://library.gnome.org/devel/hig-book/stable/).
479  */
480 public enum GtkButtonsType
481 {
482 	/**
483 	 * no buttons at all
484 	 */
485 	NONE = 0,
486 	/**
487 	 * an OK button
488 	 */
489 	OK = 1,
490 	/**
491 	 * a Close button
492 	 */
493 	CLOSE = 2,
494 	/**
495 	 * a Cancel button
496 	 */
497 	CANCEL = 3,
498 	/**
499 	 * Yes and No buttons
500 	 */
501 	YES_NO = 4,
502 	/**
503 	 * OK and Cancel buttons
504 	 */
505 	OK_CANCEL = 5,
506 }
507 alias GtkButtonsType ButtonsType;
508 
509 /**
510  * These options can be used to influence the display and behaviour of a #GtkCalendar.
511  */
512 public enum GtkCalendarDisplayOptions
513 {
514 	/**
515 	 * Specifies that the month and year should be displayed.
516 	 */
517 	SHOW_HEADING = 1,
518 	/**
519 	 * Specifies that three letter day descriptions should be present.
520 	 */
521 	SHOW_DAY_NAMES = 2,
522 	/**
523 	 * Prevents the user from switching months with the calendar.
524 	 */
525 	NO_MONTH_CHANGE = 4,
526 	/**
527 	 * Displays each week numbers of the current year, down the
528 	 * left side of the calendar.
529 	 */
530 	SHOW_WEEK_NUMBERS = 8,
531 	/**
532 	 * Just show an indicator, not the full details
533 	 * text when details are provided. See gtk_calendar_set_detail_func().
534 	 */
535 	SHOW_DETAILS = 32,
536 }
537 alias GtkCalendarDisplayOptions CalendarDisplayOptions;
538 
539 /**
540  * Determines if the edited accelerators are GTK+ accelerators. If
541  * they are, consumed modifiers are suppressed, only accelerators
542  * accepted by GTK+ are allowed, and the accelerators are rendered
543  * in the same way as they are in menus.
544  */
545 public enum GtkCellRendererAccelMode
546 {
547 	/**
548 	 * GTK+ accelerators mode
549 	 */
550 	GTK = 0,
551 	/**
552 	 * Other accelerator mode
553 	 */
554 	OTHER = 1,
555 }
556 alias GtkCellRendererAccelMode CellRendererAccelMode;
557 
558 /**
559  * Identifies how the user can interact with a particular cell.
560  */
561 public enum GtkCellRendererMode
562 {
563 	/**
564 	 * The cell is just for display
565 	 * and cannot be interacted with.  Note that this doesn’t mean that eg. the
566 	 * row being drawn can’t be selected -- just that a particular element of
567 	 * it cannot be individually modified.
568 	 */
569 	INERT = 0,
570 	/**
571 	 * The cell can be clicked.
572 	 */
573 	ACTIVATABLE = 1,
574 	/**
575 	 * The cell can be edited or otherwise modified.
576 	 */
577 	EDITABLE = 2,
578 }
579 alias GtkCellRendererMode CellRendererMode;
580 
581 /**
582  * Tells how a cell is to be rendered.
583  */
584 public enum GtkCellRendererState
585 {
586 	/**
587 	 * The cell is currently selected, and
588 	 * probably has a selection colored background to render to.
589 	 */
590 	SELECTED = 1,
591 	/**
592 	 * The mouse is hovering over the cell.
593 	 */
594 	PRELIT = 2,
595 	/**
596 	 * The cell is drawn in an insensitive manner
597 	 */
598 	INSENSITIVE = 4,
599 	/**
600 	 * The cell is in a sorted row
601 	 */
602 	SORTED = 8,
603 	/**
604 	 * The cell is in the focus row.
605 	 */
606 	FOCUSED = 16,
607 	/**
608 	 * The cell is in a row that can be expanded. Since 3.4
609 	 */
610 	EXPANDABLE = 32,
611 	/**
612 	 * The cell is in a row that is expanded. Since 3.4
613 	 */
614 	EXPANDED = 64,
615 }
616 alias GtkCellRendererState CellRendererState;
617 
618 /**
619  * Specifies which corner a child widget should be placed in when packed into
620  * a #GtkScrolledWindow. This is effectively the opposite of where the scroll
621  * bars are placed.
622  */
623 public enum GtkCornerType
624 {
625 	/**
626 	 * Place the scrollbars on the right and bottom of the
627 	 * widget (default behaviour).
628 	 */
629 	TOP_LEFT = 0,
630 	/**
631 	 * Place the scrollbars on the top and right of the
632 	 * widget.
633 	 */
634 	BOTTOM_LEFT = 1,
635 	/**
636 	 * Place the scrollbars on the left and bottom of the
637 	 * widget.
638 	 */
639 	TOP_RIGHT = 2,
640 	/**
641 	 * Place the scrollbars on the top and left of the
642 	 * widget.
643 	 */
644 	BOTTOM_RIGHT = 3,
645 }
646 alias GtkCornerType CornerType;
647 
648 /**
649  * Error codes for %GTK_CSS_PROVIDER_ERROR.
650  */
651 public enum GtkCssProviderError
652 {
653 	/**
654 	 * Failed.
655 	 */
656 	FAILED = 0,
657 	/**
658 	 * Syntax error.
659 	 */
660 	SYNTAX = 1,
661 	/**
662 	 * Import error.
663 	 */
664 	IMPORT = 2,
665 	/**
666 	 * Name error.
667 	 */
668 	NAME = 3,
669 	/**
670 	 * Deprecation error.
671 	 */
672 	DEPRECATED = 4,
673 	/**
674 	 * Unknown value.
675 	 */
676 	UNKNOWN_VALUE = 5,
677 }
678 alias GtkCssProviderError CssProviderError;
679 
680 /**
681  * The different types of sections indicate parts of a CSS document as
682  * parsed by GTK’s CSS parser. They are oriented towards the
683  * [CSS Grammar](http://www.w3.org/TR/CSS21/grammar.html),
684  * but may contain extensions.
685  *
686  * More types might be added in the future as the parser incorporates
687  * more features.
688  *
689  * Since: 3.2
690  */
691 public enum GtkCssSectionType
692 {
693 	/**
694 	 * The section describes a complete document.
695 	 * This section time is the only one where gtk_css_section_get_parent()
696 	 * might return %NULL.
697 	 */
698 	DOCUMENT = 0,
699 	/**
700 	 * The section defines an import rule.
701 	 */
702 	IMPORT = 1,
703 	/**
704 	 * The section defines a color. This
705 	 * is a GTK extension to CSS.
706 	 */
707 	COLOR_DEFINITION = 2,
708 	/**
709 	 * The section defines a binding set. This
710 	 * is a GTK extension to CSS.
711 	 */
712 	BINDING_SET = 3,
713 	/**
714 	 * The section defines a CSS ruleset.
715 	 */
716 	RULESET = 4,
717 	/**
718 	 * The section defines a CSS selector.
719 	 */
720 	SELECTOR = 5,
721 	/**
722 	 * The section defines the declaration of
723 	 * a CSS variable.
724 	 */
725 	DECLARATION = 6,
726 	/**
727 	 * The section defines the value of a CSS declaration.
728 	 */
729 	VALUE = 7,
730 	/**
731 	 * The section defines keyframes. See [CSS
732 	 * Animations](http://dev.w3.org/csswg/css3-animations/#keyframes) for details. Since 3.6
733 	 */
734 	KEYFRAMES = 8,
735 }
736 alias GtkCssSectionType CssSectionType;
737 
738 public enum GtkDebugFlag
739 {
740 	MISC = 1,
741 	PLUGSOCKET = 2,
742 	TEXT = 4,
743 	TREE = 8,
744 	UPDATES = 16,
745 	KEYBINDINGS = 32,
746 	MULTIHEAD = 64,
747 	MODULES = 128,
748 	GEOMETRY = 256,
749 	ICONTHEME = 512,
750 	PRINTING = 1024,
751 	BUILDER = 2048,
752 	SIZE_REQUEST = 4096,
753 	NO_CSS_CACHE = 8192,
754 	BASELINES = 16384,
755 	PIXEL_CACHE = 32768,
756 	NO_PIXEL_CACHE = 65536,
757 	INTERACTIVE = 131072,
758 	TOUCHSCREEN = 262144,
759 	ACTIONS = 524288,
760 	RESIZE = 1048576,
761 	LAYOUT = 2097152,
762 }
763 alias GtkDebugFlag DebugFlag;
764 
765 /**
766  * See also: #GtkEntry::delete-from-cursor.
767  */
768 public enum GtkDeleteType
769 {
770 	/**
771 	 * Delete characters.
772 	 */
773 	CHARS = 0,
774 	/**
775 	 * Delete only the portion of the word to the
776 	 * left/right of cursor if we’re in the middle of a word.
777 	 */
778 	WORD_ENDS = 1,
779 	/**
780 	 * Delete words.
781 	 */
782 	WORDS = 2,
783 	/**
784 	 * Delete display-lines. Display-lines
785 	 * refers to the visible lines, with respect to to the current line
786 	 * breaks. As opposed to paragraphs, which are defined by line
787 	 * breaks in the input.
788 	 */
789 	DISPLAY_LINES = 3,
790 	/**
791 	 * Delete only the portion of the
792 	 * display-line to the left/right of cursor.
793 	 */
794 	DISPLAY_LINE_ENDS = 4,
795 	/**
796 	 * Delete to the end of the
797 	 * paragraph. Like C-k in Emacs (or its reverse).
798 	 */
799 	PARAGRAPH_ENDS = 5,
800 	/**
801 	 * Delete entire line. Like C-k in pico.
802 	 */
803 	PARAGRAPHS = 6,
804 	/**
805 	 * Delete only whitespace. Like M-\ in Emacs.
806 	 */
807 	WHITESPACE = 7,
808 }
809 alias GtkDeleteType DeleteType;
810 
811 /**
812  * The #GtkDestDefaults enumeration specifies the various
813  * types of action that will be taken on behalf
814  * of the user for a drag destination site.
815  */
816 public enum GtkDestDefaults
817 {
818 	/**
819 	 * If set for a widget, GTK+, during a drag over this
820 	 * widget will check if the drag matches this widget’s list of possible targets
821 	 * and actions.
822 	 * GTK+ will then call gdk_drag_status() as appropriate.
823 	 */
824 	MOTION = 1,
825 	/**
826 	 * If set for a widget, GTK+ will draw a highlight on
827 	 * this widget as long as a drag is over this widget and the widget drag format
828 	 * and action are acceptable.
829 	 */
830 	HIGHLIGHT = 2,
831 	/**
832 	 * If set for a widget, when a drop occurs, GTK+ will
833 	 * will check if the drag matches this widget’s list of possible targets and
834 	 * actions. If so, GTK+ will call gtk_drag_get_data() on behalf of the widget.
835 	 * Whether or not the drop is successful, GTK+ will call gtk_drag_finish(). If
836 	 * the action was a move, then if the drag was successful, then %TRUE will be
837 	 * passed for the @delete parameter to gtk_drag_finish().
838 	 */
839 	DROP = 4,
840 	/**
841 	 * If set, specifies that all default actions should
842 	 * be taken.
843 	 */
844 	ALL = 7,
845 }
846 alias GtkDestDefaults DestDefaults;
847 
848 /**
849  * Flags used to influence dialog construction.
850  */
851 public enum GtkDialogFlags
852 {
853 	/**
854 	 * Make the constructed dialog modal,
855 	 * see gtk_window_set_modal()
856 	 */
857 	MODAL = 1,
858 	/**
859 	 * Destroy the dialog when its
860 	 * parent is destroyed, see gtk_window_set_destroy_with_parent()
861 	 */
862 	DESTROY_WITH_PARENT = 2,
863 	/**
864 	 * Create dialog with actions in header
865 	 * bar instead of action area. Since 3.12.
866 	 */
867 	USE_HEADER_BAR = 4,
868 }
869 alias GtkDialogFlags DialogFlags;
870 
871 /**
872  * Focus movement types.
873  */
874 public enum GtkDirectionType
875 {
876 	/**
877 	 * Move forward.
878 	 */
879 	TAB_FORWARD = 0,
880 	/**
881 	 * Move backward.
882 	 */
883 	TAB_BACKWARD = 1,
884 	/**
885 	 * Move up.
886 	 */
887 	UP = 2,
888 	/**
889 	 * Move down.
890 	 */
891 	DOWN = 3,
892 	/**
893 	 * Move left.
894 	 */
895 	LEFT = 4,
896 	/**
897 	 * Move right.
898 	 */
899 	RIGHT = 5,
900 }
901 alias GtkDirectionType DirectionType;
902 
903 /**
904  * Gives an indication why a drag operation failed.
905  * The value can by obtained by connecting to the
906  * #GtkWidget::drag-failed signal.
907  */
908 public enum GtkDragResult
909 {
910 	/**
911 	 * The drag operation was successful.
912 	 */
913 	SUCCESS = 0,
914 	/**
915 	 * No suitable drag target.
916 	 */
917 	NO_TARGET = 1,
918 	/**
919 	 * The user cancelled the drag operation.
920 	 */
921 	USER_CANCELLED = 2,
922 	/**
923 	 * The drag operation timed out.
924 	 */
925 	TIMEOUT_EXPIRED = 3,
926 	/**
927 	 * The pointer or keyboard grab used
928 	 * for the drag operation was broken.
929 	 */
930 	GRAB_BROKEN = 4,
931 	/**
932 	 * The drag operation failed due to some
933 	 * unspecified error.
934 	 */
935 	ERROR = 5,
936 }
937 alias GtkDragResult DragResult;
938 
939 /**
940  * Specifies the side of the entry at which an icon is placed.
941  *
942  * Since: 2.16
943  */
944 public enum GtkEntryIconPosition
945 {
946 	/**
947 	 * At the beginning of the entry (depending on the text direction).
948 	 */
949 	PRIMARY = 0,
950 	/**
951 	 * At the end of the entry (depending on the text direction).
952 	 */
953 	SECONDARY = 1,
954 }
955 alias GtkEntryIconPosition EntryIconPosition;
956 
957 /**
958  * Describes the behavior of a #GtkEventControllerScroll.
959  *
960  * Since: 3.24
961  */
962 public enum GtkEventControllerScrollFlags
963 {
964 	/**
965 	 * Don't emit scroll.
966 	 */
967 	NONE = 0,
968 	/**
969 	 * Emit scroll with vertical deltas.
970 	 */
971 	VERTICAL = 1,
972 	/**
973 	 * Emit scroll with horizontal deltas.
974 	 */
975 	HORIZONTAL = 2,
976 	/**
977 	 * Only emit deltas that are multiples of 1.
978 	 */
979 	DISCRETE = 4,
980 	/**
981 	 * Emit #GtkEventControllerScroll::decelerate
982 	 * after continuous scroll finishes.
983 	 */
984 	KINETIC = 8,
985 	/**
986 	 * Emit scroll on both axes.
987 	 */
988 	BOTH_AXES = 3,
989 }
990 alias GtkEventControllerScrollFlags EventControllerScrollFlags;
991 
992 /**
993  * Describes the state of a #GdkEventSequence in a #GtkGesture.
994  *
995  * Since: 3.14
996  */
997 public enum GtkEventSequenceState
998 {
999 	/**
1000 	 * The sequence is handled, but not grabbed.
1001 	 */
1002 	NONE = 0,
1003 	/**
1004 	 * The sequence is handled and grabbed.
1005 	 */
1006 	CLAIMED = 1,
1007 	/**
1008 	 * The sequence is denied.
1009 	 */
1010 	DENIED = 2,
1011 }
1012 alias GtkEventSequenceState EventSequenceState;
1013 
1014 /**
1015  * Used to specify the style of the expanders drawn by a #GtkTreeView.
1016  */
1017 public enum GtkExpanderStyle
1018 {
1019 	/**
1020 	 * The style used for a collapsed subtree.
1021 	 */
1022 	COLLAPSED = 0,
1023 	/**
1024 	 * Intermediate style used during animation.
1025 	 */
1026 	SEMI_COLLAPSED = 1,
1027 	/**
1028 	 * Intermediate style used during animation.
1029 	 */
1030 	SEMI_EXPANDED = 2,
1031 	/**
1032 	 * The style used for an expanded subtree.
1033 	 */
1034 	EXPANDED = 3,
1035 }
1036 alias GtkExpanderStyle ExpanderStyle;
1037 
1038 /**
1039  * Describes whether a #GtkFileChooser is being used to open existing files
1040  * or to save to a possibly new file.
1041  */
1042 public enum GtkFileChooserAction
1043 {
1044 	/**
1045 	 * Indicates open mode.  The file chooser
1046 	 * will only let the user pick an existing file.
1047 	 */
1048 	OPEN = 0,
1049 	/**
1050 	 * Indicates save mode.  The file chooser
1051 	 * will let the user pick an existing file, or type in a new
1052 	 * filename.
1053 	 */
1054 	SAVE = 1,
1055 	/**
1056 	 * Indicates an Open mode for
1057 	 * selecting folders.  The file chooser will let the user pick an
1058 	 * existing folder.
1059 	 */
1060 	SELECT_FOLDER = 2,
1061 	/**
1062 	 * Indicates a mode for creating a
1063 	 * new folder.  The file chooser will let the user name an existing or
1064 	 * new folder.
1065 	 */
1066 	CREATE_FOLDER = 3,
1067 }
1068 alias GtkFileChooserAction FileChooserAction;
1069 
1070 /**
1071  * Used as a return value of handlers for the
1072  * #GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This
1073  * value determines whether the file chooser will present the stock
1074  * confirmation dialog, accept the user’s choice of a filename, or
1075  * let the user choose another filename.
1076  *
1077  * Since: 2.8
1078  */
1079 public enum GtkFileChooserConfirmation
1080 {
1081 	/**
1082 	 * The file chooser will present
1083 	 * its stock dialog to confirm about overwriting an existing file.
1084 	 */
1085 	CONFIRM = 0,
1086 	/**
1087 	 * The file chooser will
1088 	 * terminate and accept the user’s choice of a file name.
1089 	 */
1090 	ACCEPT_FILENAME = 1,
1091 	/**
1092 	 * The file chooser will
1093 	 * continue running, so as to let the user select another file name.
1094 	 */
1095 	SELECT_AGAIN = 2,
1096 }
1097 alias GtkFileChooserConfirmation FileChooserConfirmation;
1098 
1099 /**
1100  * These identify the various errors that can occur while calling
1101  * #GtkFileChooser functions.
1102  */
1103 public enum GtkFileChooserError
1104 {
1105 	/**
1106 	 * Indicates that a file does not exist.
1107 	 */
1108 	NONEXISTENT = 0,
1109 	/**
1110 	 * Indicates a malformed filename.
1111 	 */
1112 	BAD_FILENAME = 1,
1113 	/**
1114 	 * Indicates a duplicate path (e.g. when
1115 	 * adding a bookmark).
1116 	 */
1117 	ALREADY_EXISTS = 2,
1118 	/**
1119 	 * Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).
1120 	 */
1121 	INCOMPLETE_HOSTNAME = 3,
1122 }
1123 alias GtkFileChooserError FileChooserError;
1124 
1125 /**
1126  * These flags indicate what parts of a #GtkFileFilterInfo struct
1127  * are filled or need to be filled.
1128  */
1129 public enum GtkFileFilterFlags
1130 {
1131 	/**
1132 	 * the filename of the file being tested
1133 	 */
1134 	FILENAME = 1,
1135 	/**
1136 	 * the URI for the file being tested
1137 	 */
1138 	URI = 2,
1139 	/**
1140 	 * the string that will be used to
1141 	 * display the file in the file chooser
1142 	 */
1143 	DISPLAY_NAME = 4,
1144 	/**
1145 	 * the mime type of the file
1146 	 */
1147 	MIME_TYPE = 8,
1148 }
1149 alias GtkFileFilterFlags FileFilterFlags;
1150 
1151 /**
1152  * This enumeration specifies the granularity of font selection
1153  * that is desired in a font chooser.
1154  *
1155  * This enumeration may be extended in the future; applications should
1156  * ignore unknown values.
1157  */
1158 public enum GtkFontChooserLevel
1159 {
1160 	/**
1161 	 * Allow selecting a font family
1162 	 */
1163 	FAMILY = 0,
1164 	/**
1165 	 * Allow selecting a specific font face
1166 	 */
1167 	STYLE = 1,
1168 	/**
1169 	 * Allow selecting a specific font size
1170 	 */
1171 	SIZE = 2,
1172 	VARIATIONS = 4,
1173 	/**
1174 	 * Allow selecting specific OpenType font features
1175 	 */
1176 	FEATURES = 8,
1177 }
1178 alias GtkFontChooserLevel FontChooserLevel;
1179 
1180 /**
1181  * Style for input method preedit. See also
1182  * #GtkSettings:gtk-im-preedit-style
1183  */
1184 public enum GtkIMPreeditStyle
1185 {
1186 	/**
1187 	 * Deprecated
1188 	 */
1189 	NOTHING = 0,
1190 	/**
1191 	 * Deprecated
1192 	 */
1193 	CALLBACK = 1,
1194 	/**
1195 	 * Deprecated
1196 	 */
1197 	NONE = 2,
1198 }
1199 alias GtkIMPreeditStyle IMPreeditStyle;
1200 
1201 /**
1202  * Style for input method status. See also
1203  * #GtkSettings:gtk-im-status-style
1204  */
1205 public enum GtkIMStatusStyle
1206 {
1207 	/**
1208 	 * Deprecated
1209 	 */
1210 	NOTHING = 0,
1211 	/**
1212 	 * Deprecated
1213 	 */
1214 	CALLBACK = 1,
1215 	/**
1216 	 * Deprecated
1217 	 */
1218 	NONE = 2,
1219 }
1220 alias GtkIMStatusStyle IMStatusStyle;
1221 
1222 /**
1223  * Used to specify options for gtk_icon_theme_lookup_icon()
1224  */
1225 public enum GtkIconLookupFlags
1226 {
1227 	/**
1228 	 * Never get SVG icons, even if gdk-pixbuf
1229 	 * supports them. Cannot be used together with %GTK_ICON_LOOKUP_FORCE_SVG.
1230 	 */
1231 	NO_SVG = 1,
1232 	/**
1233 	 * Get SVG icons, even if gdk-pixbuf
1234 	 * doesn’t support them.
1235 	 * Cannot be used together with %GTK_ICON_LOOKUP_NO_SVG.
1236 	 */
1237 	FORCE_SVG = 2,
1238 	/**
1239 	 * When passed to
1240 	 * gtk_icon_theme_lookup_icon() includes builtin icons
1241 	 * as well as files. For a builtin icon, gtk_icon_info_get_filename()
1242 	 * is %NULL and you need to call gtk_icon_info_get_builtin_pixbuf().
1243 	 */
1244 	USE_BUILTIN = 4,
1245 	/**
1246 	 * Try to shorten icon name at '-'
1247 	 * characters before looking at inherited themes. This flag is only
1248 	 * supported in functions that take a single icon name. For more general
1249 	 * fallback, see gtk_icon_theme_choose_icon(). Since 2.12.
1250 	 */
1251 	GENERIC_FALLBACK = 8,
1252 	/**
1253 	 * Always get the icon scaled to the
1254 	 * requested size. Since 2.14.
1255 	 */
1256 	FORCE_SIZE = 16,
1257 	/**
1258 	 * Try to always load regular icons, even
1259 	 * when symbolic icon names are given. Since 3.14.
1260 	 */
1261 	FORCE_REGULAR = 32,
1262 	/**
1263 	 * Try to always load symbolic icons, even
1264 	 * when regular icon names are given. Since 3.14.
1265 	 */
1266 	FORCE_SYMBOLIC = 64,
1267 	/**
1268 	 * Try to load a variant of the icon for left-to-right
1269 	 * text direction. Since 3.14.
1270 	 */
1271 	DIR_LTR = 128,
1272 	/**
1273 	 * Try to load a variant of the icon for right-to-left
1274 	 * text direction. Since 3.14.
1275 	 */
1276 	DIR_RTL = 256,
1277 }
1278 alias GtkIconLookupFlags IconLookupFlags;
1279 
1280 /**
1281  * Built-in stock icon sizes.
1282  */
1283 public enum GtkIconSize
1284 {
1285 	/**
1286 	 * Invalid size.
1287 	 */
1288 	INVALID = 0,
1289 	/**
1290 	 * Size appropriate for menus (16px).
1291 	 */
1292 	MENU = 1,
1293 	/**
1294 	 * Size appropriate for small toolbars (16px).
1295 	 */
1296 	SMALL_TOOLBAR = 2,
1297 	/**
1298 	 * Size appropriate for large toolbars (24px)
1299 	 */
1300 	LARGE_TOOLBAR = 3,
1301 	/**
1302 	 * Size appropriate for buttons (16px)
1303 	 */
1304 	BUTTON = 4,
1305 	/**
1306 	 * Size appropriate for drag and drop (32px)
1307 	 */
1308 	DND = 5,
1309 	/**
1310 	 * Size appropriate for dialogs (48px)
1311 	 */
1312 	DIALOG = 6,
1313 }
1314 alias GtkIconSize IconSize;
1315 
1316 /**
1317  * Error codes for GtkIconTheme operations.
1318  */
1319 public enum GtkIconThemeError
1320 {
1321 	/**
1322 	 * The icon specified does not exist in the theme
1323 	 */
1324 	NOT_FOUND = 0,
1325 	/**
1326 	 * An unspecified error occurred.
1327 	 */
1328 	FAILED = 1,
1329 }
1330 alias GtkIconThemeError IconThemeError;
1331 
1332 /**
1333  * An enum for determining where a dropped item goes.
1334  */
1335 public enum GtkIconViewDropPosition
1336 {
1337 	/**
1338 	 * no drop possible
1339 	 */
1340 	NO_DROP = 0,
1341 	/**
1342 	 * dropped item replaces the item
1343 	 */
1344 	DROP_INTO = 1,
1345 	/**
1346 	 * droppped item is inserted to the left
1347 	 */
1348 	DROP_LEFT = 2,
1349 	/**
1350 	 * dropped item is inserted to the right
1351 	 */
1352 	DROP_RIGHT = 3,
1353 	/**
1354 	 * dropped item is inserted above
1355 	 */
1356 	DROP_ABOVE = 4,
1357 	/**
1358 	 * dropped item is inserted below
1359 	 */
1360 	DROP_BELOW = 5,
1361 }
1362 alias GtkIconViewDropPosition IconViewDropPosition;
1363 
1364 /**
1365  * Describes the image data representation used by a #GtkImage. If you
1366  * want to get the image from the widget, you can only get the
1367  * currently-stored representation. e.g.  if the
1368  * gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can
1369  * call gtk_image_get_pixbuf() but not gtk_image_get_stock().  For empty
1370  * images, you can request any storage type (call any of the "get"
1371  * functions), but they will all return %NULL values.
1372  */
1373 public enum GtkImageType
1374 {
1375 	/**
1376 	 * there is no image displayed by the widget
1377 	 */
1378 	EMPTY = 0,
1379 	/**
1380 	 * the widget contains a #GdkPixbuf
1381 	 */
1382 	PIXBUF = 1,
1383 	/**
1384 	 * the widget contains a [stock item name][gtkstock]
1385 	 */
1386 	STOCK = 2,
1387 	/**
1388 	 * the widget contains a #GtkIconSet
1389 	 */
1390 	ICON_SET = 3,
1391 	/**
1392 	 * the widget contains a #GdkPixbufAnimation
1393 	 */
1394 	ANIMATION = 4,
1395 	/**
1396 	 * the widget contains a named icon.
1397 	 * This image type was added in GTK+ 2.6
1398 	 */
1399 	ICON_NAME = 5,
1400 	/**
1401 	 * the widget contains a #GIcon.
1402 	 * This image type was added in GTK+ 2.14
1403 	 */
1404 	GICON = 6,
1405 	/**
1406 	 * the widget contains a #cairo_surface_t.
1407 	 * This image type was added in GTK+ 3.10
1408 	 */
1409 	SURFACE = 7,
1410 }
1411 alias GtkImageType ImageType;
1412 
1413 /**
1414  * Describes hints that might be taken into account by input methods
1415  * or applications. Note that input methods may already tailor their
1416  * behaviour according to the #GtkInputPurpose of the entry.
1417  *
1418  * Some common sense is expected when using these flags - mixing
1419  * @GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.
1420  *
1421  * This enumeration may be extended in the future; input methods should
1422  * ignore unknown values.
1423  *
1424  * Since: 3.6
1425  */
1426 public enum GtkInputHints
1427 {
1428 	/**
1429 	 * No special behaviour suggested
1430 	 */
1431 	NONE = 0,
1432 	/**
1433 	 * Suggest checking for typos
1434 	 */
1435 	SPELLCHECK = 1,
1436 	/**
1437 	 * Suggest not checking for typos
1438 	 */
1439 	NO_SPELLCHECK = 2,
1440 	/**
1441 	 * Suggest word completion
1442 	 */
1443 	WORD_COMPLETION = 4,
1444 	/**
1445 	 * Suggest to convert all text to lowercase
1446 	 */
1447 	LOWERCASE = 8,
1448 	/**
1449 	 * Suggest to capitalize all text
1450 	 */
1451 	UPPERCASE_CHARS = 16,
1452 	/**
1453 	 * Suggest to capitalize the first
1454 	 * character of each word
1455 	 */
1456 	UPPERCASE_WORDS = 32,
1457 	/**
1458 	 * Suggest to capitalize the
1459 	 * first word of each sentence
1460 	 */
1461 	UPPERCASE_SENTENCES = 64,
1462 	/**
1463 	 * Suggest to not show an onscreen keyboard
1464 	 * (e.g for a calculator that already has all the keys).
1465 	 */
1466 	INHIBIT_OSK = 128,
1467 	/**
1468 	 * The text is vertical. Since 3.18
1469 	 */
1470 	VERTICAL_WRITING = 256,
1471 	/**
1472 	 * Suggest offering Emoji support. Since 3.22.20
1473 	 */
1474 	EMOJI = 512,
1475 	/**
1476 	 * Suggest not offering Emoji support. Since 3.22.20
1477 	 */
1478 	NO_EMOJI = 1024,
1479 }
1480 alias GtkInputHints InputHints;
1481 
1482 /**
1483  * Describes primary purpose of the input widget. This information is
1484  * useful for on-screen keyboards and similar input methods to decide
1485  * which keys should be presented to the user.
1486  *
1487  * Note that the purpose is not meant to impose a totally strict rule
1488  * about allowed characters, and does not replace input validation.
1489  * It is fine for an on-screen keyboard to let the user override the
1490  * character set restriction that is expressed by the purpose. The
1491  * application is expected to validate the entry contents, even if
1492  * it specified a purpose.
1493  *
1494  * The difference between @GTK_INPUT_PURPOSE_DIGITS and
1495  * @GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits
1496  * while the latter also some punctuation (like commas or points, plus,
1497  * minus) and “e” or “E” as in 3.14E+000.
1498  *
1499  * This enumeration may be extended in the future; input methods should
1500  * interpret unknown values as “free form”.
1501  *
1502  * Since: 3.6
1503  */
1504 public enum GtkInputPurpose
1505 {
1506 	/**
1507 	 * Allow any character
1508 	 */
1509 	FREE_FORM = 0,
1510 	/**
1511 	 * Allow only alphabetic characters
1512 	 */
1513 	ALPHA = 1,
1514 	/**
1515 	 * Allow only digits
1516 	 */
1517 	DIGITS = 2,
1518 	/**
1519 	 * Edited field expects numbers
1520 	 */
1521 	NUMBER = 3,
1522 	/**
1523 	 * Edited field expects phone number
1524 	 */
1525 	PHONE = 4,
1526 	/**
1527 	 * Edited field expects URL
1528 	 */
1529 	URL = 5,
1530 	/**
1531 	 * Edited field expects email address
1532 	 */
1533 	EMAIL = 6,
1534 	/**
1535 	 * Edited field expects the name of a person
1536 	 */
1537 	NAME = 7,
1538 	/**
1539 	 * Like @GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden
1540 	 */
1541 	PASSWORD = 8,
1542 	/**
1543 	 * Like @GTK_INPUT_PURPOSE_DIGITS, but characters are hidden
1544 	 */
1545 	PIN = 9,
1546 }
1547 alias GtkInputPurpose InputPurpose;
1548 
1549 /**
1550  * Describes how a rendered element connects to adjacent elements.
1551  */
1552 public enum GtkJunctionSides
1553 {
1554 	/**
1555 	 * No junctions.
1556 	 */
1557 	NONE = 0,
1558 	/**
1559 	 * Element connects on the top-left corner.
1560 	 */
1561 	CORNER_TOPLEFT = 1,
1562 	/**
1563 	 * Element connects on the top-right corner.
1564 	 */
1565 	CORNER_TOPRIGHT = 2,
1566 	/**
1567 	 * Element connects on the bottom-left corner.
1568 	 */
1569 	CORNER_BOTTOMLEFT = 4,
1570 	/**
1571 	 * Element connects on the bottom-right corner.
1572 	 */
1573 	CORNER_BOTTOMRIGHT = 8,
1574 	/**
1575 	 * Element connects on the top side.
1576 	 */
1577 	TOP = 3,
1578 	/**
1579 	 * Element connects on the bottom side.
1580 	 */
1581 	BOTTOM = 12,
1582 	/**
1583 	 * Element connects on the left side.
1584 	 */
1585 	LEFT = 5,
1586 	/**
1587 	 * Element connects on the right side.
1588 	 */
1589 	RIGHT = 10,
1590 }
1591 alias GtkJunctionSides JunctionSides;
1592 
1593 /**
1594  * Used for justifying the text inside a #GtkLabel widget. (See also
1595  * #GtkAlignment).
1596  */
1597 public enum GtkJustification
1598 {
1599 	/**
1600 	 * The text is placed at the left edge of the label.
1601 	 */
1602 	LEFT = 0,
1603 	/**
1604 	 * The text is placed at the right edge of the label.
1605 	 */
1606 	RIGHT = 1,
1607 	/**
1608 	 * The text is placed in the center of the label.
1609 	 */
1610 	CENTER = 2,
1611 	/**
1612 	 * The text is placed is distributed across the label.
1613 	 */
1614 	FILL = 3,
1615 }
1616 alias GtkJustification Justification;
1617 
1618 /**
1619  * Describes how #GtkLevelBar contents should be rendered.
1620  * Note that this enumeration could be extended with additional modes
1621  * in the future.
1622  *
1623  * Since: 3.6
1624  */
1625 public enum GtkLevelBarMode
1626 {
1627 	/**
1628 	 * the bar has a continuous mode
1629 	 */
1630 	CONTINUOUS = 0,
1631 	/**
1632 	 * the bar has a discrete mode
1633 	 */
1634 	DISCRETE = 1,
1635 }
1636 alias GtkLevelBarMode LevelBarMode;
1637 
1638 /**
1639  * The type of license for an application.
1640  *
1641  * This enumeration can be expanded at later date.
1642  *
1643  * Since: 3.0
1644  */
1645 public enum GtkLicense
1646 {
1647 	/**
1648 	 * No license specified
1649 	 */
1650 	UNKNOWN = 0,
1651 	/**
1652 	 * A license text is going to be specified by the
1653 	 * developer
1654 	 */
1655 	CUSTOM = 1,
1656 	/**
1657 	 * The GNU General Public License, version 2.0 or later
1658 	 */
1659 	GPL_2_0 = 2,
1660 	/**
1661 	 * The GNU General Public License, version 3.0 or later
1662 	 */
1663 	GPL_3_0 = 3,
1664 	/**
1665 	 * The GNU Lesser General Public License, version 2.1 or later
1666 	 */
1667 	LGPL_2_1 = 4,
1668 	/**
1669 	 * The GNU Lesser General Public License, version 3.0 or later
1670 	 */
1671 	LGPL_3_0 = 5,
1672 	/**
1673 	 * The BSD standard license
1674 	 */
1675 	BSD = 6,
1676 	/**
1677 	 * The MIT/X11 standard license
1678 	 */
1679 	MIT_X11 = 7,
1680 	/**
1681 	 * The Artistic License, version 2.0
1682 	 */
1683 	ARTISTIC = 8,
1684 	/**
1685 	 * The GNU General Public License, version 2.0 only. Since 3.12.
1686 	 */
1687 	GPL_2_0_ONLY = 9,
1688 	/**
1689 	 * The GNU General Public License, version 3.0 only. Since 3.12.
1690 	 */
1691 	GPL_3_0_ONLY = 10,
1692 	/**
1693 	 * The GNU Lesser General Public License, version 2.1 only. Since 3.12.
1694 	 */
1695 	LGPL_2_1_ONLY = 11,
1696 	/**
1697 	 * The GNU Lesser General Public License, version 3.0 only. Since 3.12.
1698 	 */
1699 	LGPL_3_0_ONLY = 12,
1700 	/**
1701 	 * The GNU Affero General Public License, version 3.0 or later. Since: 3.22.
1702 	 */
1703 	AGPL_3_0 = 13,
1704 	/**
1705 	 * The GNU Affero General Public License, version 3.0 only. Since: 3.22.27.
1706 	 */
1707 	AGPL_3_0_ONLY = 14,
1708 }
1709 alias GtkLicense License;
1710 
1711 /**
1712  * An enumeration representing directional movements within a menu.
1713  */
1714 public enum GtkMenuDirectionType
1715 {
1716 	/**
1717 	 * To the parent menu shell
1718 	 */
1719 	PARENT = 0,
1720 	/**
1721 	 * To the submenu, if any, associated with the item
1722 	 */
1723 	CHILD = 1,
1724 	/**
1725 	 * To the next menu item
1726 	 */
1727 	NEXT = 2,
1728 	/**
1729 	 * To the previous menu item
1730 	 */
1731 	PREV = 3,
1732 }
1733 alias GtkMenuDirectionType MenuDirectionType;
1734 
1735 /**
1736  * The type of message being displayed in the dialog.
1737  */
1738 public enum GtkMessageType : uint
1739 {
1740 	/**
1741 	 * Informational message
1742 	 */
1743 	INFO = 0,
1744 	/**
1745 	 * Non-fatal warning message
1746 	 */
1747 	WARNING = 1,
1748 	/**
1749 	 * Question requiring a choice
1750 	 */
1751 	QUESTION = 2,
1752 	/**
1753 	 * Fatal error message
1754 	 */
1755 	ERROR = 3,
1756 	/**
1757 	 * None of the above
1758 	 */
1759 	OTHER = 4,
1760 }
1761 alias GtkMessageType MessageType;
1762 
1763 public enum GtkMovementStep
1764 {
1765 	/**
1766 	 * Move forward or back by graphemes
1767 	 */
1768 	LOGICAL_POSITIONS = 0,
1769 	/**
1770 	 * Move left or right by graphemes
1771 	 */
1772 	VISUAL_POSITIONS = 1,
1773 	/**
1774 	 * Move forward or back by words
1775 	 */
1776 	WORDS = 2,
1777 	/**
1778 	 * Move up or down lines (wrapped lines)
1779 	 */
1780 	DISPLAY_LINES = 3,
1781 	/**
1782 	 * Move to either end of a line
1783 	 */
1784 	DISPLAY_LINE_ENDS = 4,
1785 	/**
1786 	 * Move up or down paragraphs (newline-ended lines)
1787 	 */
1788 	PARAGRAPHS = 5,
1789 	/**
1790 	 * Move to either end of a paragraph
1791 	 */
1792 	PARAGRAPH_ENDS = 6,
1793 	/**
1794 	 * Move by pages
1795 	 */
1796 	PAGES = 7,
1797 	/**
1798 	 * Move to ends of the buffer
1799 	 */
1800 	BUFFER_ENDS = 8,
1801 	/**
1802 	 * Move horizontally by pages
1803 	 */
1804 	HORIZONTAL_PAGES = 9,
1805 }
1806 alias GtkMovementStep MovementStep;
1807 
1808 public enum GtkNotebookTab
1809 {
1810 	FIRST = 0,
1811 	LAST = 1,
1812 }
1813 alias GtkNotebookTab NotebookTab;
1814 
1815 /**
1816  * Used to determine the layout of pages on a sheet when printing
1817  * multiple pages per sheet.
1818  */
1819 public enum GtkNumberUpLayout
1820 {
1821 	/**
1822 	 * ![](layout-lrtb.png)
1823 	 */
1824 	LRTB = 0,
1825 	/**
1826 	 * ![](layout-lrbt.png)
1827 	 */
1828 	LRBT = 1,
1829 	/**
1830 	 * ![](layout-rltb.png)
1831 	 */
1832 	RLTB = 2,
1833 	/**
1834 	 * ![](layout-rlbt.png)
1835 	 */
1836 	RLBT = 3,
1837 	/**
1838 	 * ![](layout-tblr.png)
1839 	 */
1840 	TBLR = 4,
1841 	/**
1842 	 * ![](layout-tbrl.png)
1843 	 */
1844 	TBRL = 5,
1845 	/**
1846 	 * ![](layout-btlr.png)
1847 	 */
1848 	BTLR = 6,
1849 	/**
1850 	 * ![](layout-btrl.png)
1851 	 */
1852 	BTRL = 7,
1853 }
1854 alias GtkNumberUpLayout NumberUpLayout;
1855 
1856 /**
1857  * Represents the orientation of widgets and other objects which can be switched
1858  * between horizontal and vertical orientation on the fly, like #GtkToolbar or
1859  * #GtkGesturePan.
1860  */
1861 public enum GtkOrientation
1862 {
1863 	/**
1864 	 * The element is in horizontal orientation.
1865 	 */
1866 	HORIZONTAL = 0,
1867 	/**
1868 	 * The element is in vertical orientation.
1869 	 */
1870 	VERTICAL = 1,
1871 }
1872 alias GtkOrientation Orientation;
1873 
1874 /**
1875  * Determines how widgets should be packed inside menubars
1876  * and menuitems contained in menubars.
1877  */
1878 public enum GtkPackDirection
1879 {
1880 	/**
1881 	 * Widgets are packed left-to-right
1882 	 */
1883 	LTR = 0,
1884 	/**
1885 	 * Widgets are packed right-to-left
1886 	 */
1887 	RTL = 1,
1888 	/**
1889 	 * Widgets are packed top-to-bottom
1890 	 */
1891 	TTB = 2,
1892 	/**
1893 	 * Widgets are packed bottom-to-top
1894 	 */
1895 	BTT = 3,
1896 }
1897 alias GtkPackDirection PackDirection;
1898 
1899 /**
1900  * Represents the packing location #GtkBox children. (See: #GtkVBox,
1901  * #GtkHBox, and #GtkButtonBox).
1902  */
1903 public enum GtkPackType
1904 {
1905 	/**
1906 	 * The child is packed into the start of the box
1907 	 */
1908 	START = 0,
1909 	/**
1910 	 * The child is packed into the end of the box
1911 	 */
1912 	END = 1,
1913 }
1914 alias GtkPackType PackType;
1915 
1916 /**
1917  * The type of a pad action.
1918  */
1919 public enum GtkPadActionType
1920 {
1921 	/**
1922 	 * Action is triggered by a pad button
1923 	 */
1924 	BUTTON = 0,
1925 	/**
1926 	 * Action is triggered by a pad ring
1927 	 */
1928 	RING = 1,
1929 	/**
1930 	 * Action is triggered by a pad strip
1931 	 */
1932 	STRIP = 2,
1933 }
1934 alias GtkPadActionType PadActionType;
1935 
1936 /**
1937  * See also gtk_print_settings_set_orientation().
1938  */
1939 public enum GtkPageOrientation
1940 {
1941 	/**
1942 	 * Portrait mode.
1943 	 */
1944 	PORTRAIT = 0,
1945 	/**
1946 	 * Landscape mode.
1947 	 */
1948 	LANDSCAPE = 1,
1949 	/**
1950 	 * Reverse portrait mode.
1951 	 */
1952 	REVERSE_PORTRAIT = 2,
1953 	/**
1954 	 * Reverse landscape mode.
1955 	 */
1956 	REVERSE_LANDSCAPE = 3,
1957 }
1958 alias GtkPageOrientation PageOrientation;
1959 
1960 /**
1961  * See also gtk_print_job_set_page_set().
1962  */
1963 public enum GtkPageSet
1964 {
1965 	/**
1966 	 * All pages.
1967 	 */
1968 	ALL = 0,
1969 	/**
1970 	 * Even pages.
1971 	 */
1972 	EVEN = 1,
1973 	/**
1974 	 * Odd pages.
1975 	 */
1976 	ODD = 2,
1977 }
1978 alias GtkPageSet PageSet;
1979 
1980 /**
1981  * Describes the panning direction of a #GtkGesturePan
1982  *
1983  * Since: 3.14
1984  */
1985 public enum GtkPanDirection
1986 {
1987 	/**
1988 	 * panned towards the left
1989 	 */
1990 	LEFT = 0,
1991 	/**
1992 	 * panned towards the right
1993 	 */
1994 	RIGHT = 1,
1995 	/**
1996 	 * panned upwards
1997 	 */
1998 	UP = 2,
1999 	/**
2000 	 * panned downwards
2001 	 */
2002 	DOWN = 3,
2003 }
2004 alias GtkPanDirection PanDirection;
2005 
2006 /**
2007  * Priorities for path lookups.
2008  * See also gtk_binding_set_add_path().
2009  */
2010 public enum GtkPathPriorityType
2011 {
2012 	/**
2013 	 * Deprecated
2014 	 */
2015 	LOWEST = 0,
2016 	/**
2017 	 * Deprecated
2018 	 */
2019 	GTK = 4,
2020 	/**
2021 	 * Deprecated
2022 	 */
2023 	APPLICATION = 8,
2024 	/**
2025 	 * Deprecated
2026 	 */
2027 	THEME = 10,
2028 	/**
2029 	 * Deprecated
2030 	 */
2031 	RC = 12,
2032 	/**
2033 	 * Deprecated
2034 	 */
2035 	HIGHEST = 15,
2036 }
2037 alias GtkPathPriorityType PathPriorityType;
2038 
2039 /**
2040  * Widget path types.
2041  * See also gtk_binding_set_add_path().
2042  */
2043 public enum GtkPathType
2044 {
2045 	/**
2046 	 * Deprecated
2047 	 */
2048 	WIDGET = 0,
2049 	/**
2050 	 * Deprecated
2051 	 */
2052 	WIDGET_CLASS = 1,
2053 	/**
2054 	 * Deprecated
2055 	 */
2056 	CLASS = 2,
2057 }
2058 alias GtkPathType PathType;
2059 
2060 /**
2061  * These flags serve two purposes.  First, the application can call gtk_places_sidebar_set_open_flags()
2062  * using these flags as a bitmask.  This tells the sidebar that the application is able to open
2063  * folders selected from the sidebar in various ways, for example, in new tabs or in new windows in
2064  * addition to the normal mode.
2065  *
2066  * Second, when one of these values gets passed back to the application in the
2067  * #GtkPlacesSidebar::open-location signal, it means that the application should
2068  * open the selected location in the normal way, in a new tab, or in a new
2069  * window.  The sidebar takes care of determining the desired way to open the location,
2070  * based on the modifier keys that the user is pressing at the time the selection is made.
2071  *
2072  * If the application never calls gtk_places_sidebar_set_open_flags(), then the sidebar will only
2073  * use #GTK_PLACES_OPEN_NORMAL in the #GtkPlacesSidebar::open-location signal.  This is the
2074  * default mode of operation.
2075  */
2076 public enum GtkPlacesOpenFlags
2077 {
2078 	/**
2079 	 * This is the default mode that #GtkPlacesSidebar uses if no other flags
2080 	 * are specified.  It indicates that the calling application should open the selected location
2081 	 * in the normal way, for example, in the folder view beside the sidebar.
2082 	 */
2083 	NORMAL = 1,
2084 	/**
2085 	 * When passed to gtk_places_sidebar_set_open_flags(), this indicates
2086 	 * that the application can open folders selected from the sidebar in new tabs.  This value
2087 	 * will be passed to the #GtkPlacesSidebar::open-location signal when the user selects
2088 	 * that a location be opened in a new tab instead of in the standard fashion.
2089 	 */
2090 	NEW_TAB = 2,
2091 	/**
2092 	 * Similar to @GTK_PLACES_OPEN_NEW_TAB, but indicates that the application
2093 	 * can open folders in new windows.
2094 	 */
2095 	NEW_WINDOW = 4,
2096 }
2097 alias GtkPlacesOpenFlags PlacesOpenFlags;
2098 
2099 /**
2100  * Determines how the size should be computed to achieve the one of the
2101  * visibility mode for the scrollbars.
2102  */
2103 public enum GtkPolicyType
2104 {
2105 	/**
2106 	 * The scrollbar is always visible. The view size is
2107 	 * independent of the content.
2108 	 */
2109 	ALWAYS = 0,
2110 	/**
2111 	 * The scrollbar will appear and disappear as necessary.
2112 	 * For example, when all of a #GtkTreeView can not be seen.
2113 	 */
2114 	AUTOMATIC = 1,
2115 	/**
2116 	 * The scrollbar should never appear. In this mode the
2117 	 * content determines the size.
2118 	 */
2119 	NEVER = 2,
2120 	/**
2121 	 * Don't show a scrollbar, but don't force the
2122 	 * size to follow the content. This can be used e.g. to make multiple
2123 	 * scrolled windows share a scrollbar. Since: 3.16
2124 	 */
2125 	EXTERNAL = 3,
2126 }
2127 alias GtkPolicyType PolicyType;
2128 
2129 /**
2130  * Describes constraints to positioning of popovers. More values
2131  * may be added to this enumeration in the future.
2132  *
2133  * Since: 3.20
2134  */
2135 public enum GtkPopoverConstraint
2136 {
2137 	/**
2138 	 * Don't constrain the popover position
2139 	 * beyond what is imposed by the implementation
2140 	 */
2141 	NONE = 0,
2142 	/**
2143 	 * Constrain the popover to the boundaries
2144 	 * of the window that it is attached to
2145 	 */
2146 	WINDOW = 1,
2147 }
2148 alias GtkPopoverConstraint PopoverConstraint;
2149 
2150 /**
2151  * Describes which edge of a widget a certain feature is positioned at, e.g. the
2152  * tabs of a #GtkNotebook, the handle of a #GtkHandleBox or the label of a
2153  * #GtkScale.
2154  */
2155 public enum GtkPositionType
2156 {
2157 	/**
2158 	 * The feature is at the left edge.
2159 	 */
2160 	LEFT = 0,
2161 	/**
2162 	 * The feature is at the right edge.
2163 	 */
2164 	RIGHT = 1,
2165 	/**
2166 	 * The feature is at the top edge.
2167 	 */
2168 	TOP = 2,
2169 	/**
2170 	 * The feature is at the bottom edge.
2171 	 */
2172 	BOTTOM = 3,
2173 }
2174 alias GtkPositionType PositionType;
2175 
2176 /**
2177  * See also gtk_print_settings_set_duplex().
2178  */
2179 public enum GtkPrintDuplex
2180 {
2181 	/**
2182 	 * No duplex.
2183 	 */
2184 	SIMPLEX = 0,
2185 	/**
2186 	 * Horizontal duplex.
2187 	 */
2188 	HORIZONTAL = 1,
2189 	/**
2190 	 * Vertical duplex.
2191 	 */
2192 	VERTICAL = 2,
2193 }
2194 alias GtkPrintDuplex PrintDuplex;
2195 
2196 /**
2197  * Error codes that identify various errors that can occur while
2198  * using the GTK+ printing support.
2199  */
2200 public enum GtkPrintError
2201 {
2202 	/**
2203 	 * An unspecified error occurred.
2204 	 */
2205 	GENERAL = 0,
2206 	/**
2207 	 * An internal error occurred.
2208 	 */
2209 	INTERNAL_ERROR = 1,
2210 	/**
2211 	 * A memory allocation failed.
2212 	 */
2213 	NOMEM = 2,
2214 	/**
2215 	 * An error occurred while loading a page setup
2216 	 * or paper size from a key file.
2217 	 */
2218 	INVALID_FILE = 3,
2219 }
2220 alias GtkPrintError PrintError;
2221 
2222 /**
2223  * The @action parameter to gtk_print_operation_run()
2224  * determines what action the print operation should perform.
2225  */
2226 public enum GtkPrintOperationAction
2227 {
2228 	/**
2229 	 * Show the print dialog.
2230 	 */
2231 	PRINT_DIALOG = 0,
2232 	/**
2233 	 * Start to print without showing
2234 	 * the print dialog, based on the current print settings.
2235 	 */
2236 	PRINT = 1,
2237 	/**
2238 	 * Show the print preview.
2239 	 */
2240 	PREVIEW = 2,
2241 	/**
2242 	 * Export to a file. This requires
2243 	 * the export-filename property to be set.
2244 	 */
2245 	EXPORT = 3,
2246 }
2247 alias GtkPrintOperationAction PrintOperationAction;
2248 
2249 /**
2250  * A value of this type is returned by gtk_print_operation_run().
2251  */
2252 public enum GtkPrintOperationResult
2253 {
2254 	/**
2255 	 * An error has occurred.
2256 	 */
2257 	ERROR = 0,
2258 	/**
2259 	 * The print settings should be stored.
2260 	 */
2261 	APPLY = 1,
2262 	/**
2263 	 * The print operation has been canceled,
2264 	 * the print settings should not be stored.
2265 	 */
2266 	CANCEL = 2,
2267 	/**
2268 	 * The print operation is not complete
2269 	 * yet. This value will only be returned when running asynchronously.
2270 	 */
2271 	IN_PROGRESS = 3,
2272 }
2273 alias GtkPrintOperationResult PrintOperationResult;
2274 
2275 /**
2276  * See also gtk_print_job_set_pages()
2277  */
2278 public enum GtkPrintPages
2279 {
2280 	/**
2281 	 * All pages.
2282 	 */
2283 	ALL = 0,
2284 	/**
2285 	 * Current page.
2286 	 */
2287 	CURRENT = 1,
2288 	/**
2289 	 * Range of pages.
2290 	 */
2291 	RANGES = 2,
2292 	/**
2293 	 * Selected pages.
2294 	 */
2295 	SELECTION = 3,
2296 }
2297 alias GtkPrintPages PrintPages;
2298 
2299 /**
2300  * See also gtk_print_settings_set_quality().
2301  */
2302 public enum GtkPrintQuality
2303 {
2304 	/**
2305 	 * Low quality.
2306 	 */
2307 	LOW = 0,
2308 	/**
2309 	 * Normal quality.
2310 	 */
2311 	NORMAL = 1,
2312 	/**
2313 	 * High quality.
2314 	 */
2315 	HIGH = 2,
2316 	/**
2317 	 * Draft quality.
2318 	 */
2319 	DRAFT = 3,
2320 }
2321 alias GtkPrintQuality PrintQuality;
2322 
2323 /**
2324  * The status gives a rough indication of the completion of a running
2325  * print operation.
2326  */
2327 public enum GtkPrintStatus
2328 {
2329 	/**
2330 	 * The printing has not started yet; this
2331 	 * status is set initially, and while the print dialog is shown.
2332 	 */
2333 	INITIAL = 0,
2334 	/**
2335 	 * This status is set while the begin-print
2336 	 * signal is emitted and during pagination.
2337 	 */
2338 	PREPARING = 1,
2339 	/**
2340 	 * This status is set while the
2341 	 * pages are being rendered.
2342 	 */
2343 	GENERATING_DATA = 2,
2344 	/**
2345 	 * The print job is being sent off to the
2346 	 * printer.
2347 	 */
2348 	SENDING_DATA = 3,
2349 	/**
2350 	 * The print job has been sent to the printer,
2351 	 * but is not printed for some reason, e.g. the printer may be stopped.
2352 	 */
2353 	PENDING = 4,
2354 	/**
2355 	 * Some problem has occurred during
2356 	 * printing, e.g. a paper jam.
2357 	 */
2358 	PENDING_ISSUE = 5,
2359 	/**
2360 	 * The printer is processing the print job.
2361 	 */
2362 	PRINTING = 6,
2363 	/**
2364 	 * The printing has been completed successfully.
2365 	 */
2366 	FINISHED = 7,
2367 	/**
2368 	 * The printing has been aborted.
2369 	 */
2370 	FINISHED_ABORTED = 8,
2371 }
2372 alias GtkPrintStatus PrintStatus;
2373 
2374 /**
2375  * Describes the stage at which events are fed into a #GtkEventController.
2376  *
2377  * Since: 3.14
2378  */
2379 public enum GtkPropagationPhase
2380 {
2381 	/**
2382 	 * Events are not delivered automatically. Those can be
2383 	 * manually fed through gtk_event_controller_handle_event(). This should
2384 	 * only be used when full control about when, or whether the controller
2385 	 * handles the event is needed.
2386 	 */
2387 	NONE = 0,
2388 	/**
2389 	 * Events are delivered in the capture phase. The
2390 	 * capture phase happens before the bubble phase, runs from the toplevel down
2391 	 * to the event widget. This option should only be used on containers that
2392 	 * might possibly handle events before their children do.
2393 	 */
2394 	CAPTURE = 1,
2395 	/**
2396 	 * Events are delivered in the bubble phase. The bubble
2397 	 * phase happens after the capture phase, and before the default handlers
2398 	 * are run. This phase runs from the event widget, up to the toplevel.
2399 	 */
2400 	BUBBLE = 2,
2401 	/**
2402 	 * Events are delivered in the default widget event handlers,
2403 	 * note that widget implementations must chain up on button, motion, touch and
2404 	 * grab broken handlers for controllers in this phase to be run.
2405 	 */
2406 	TARGET = 3,
2407 }
2408 alias GtkPropagationPhase PropagationPhase;
2409 
2410 /**
2411  * Deprecated
2412  */
2413 public enum GtkRcFlags
2414 {
2415 	/**
2416 	 * Deprecated
2417 	 */
2418 	FG = 1,
2419 	/**
2420 	 * Deprecated
2421 	 */
2422 	BG = 2,
2423 	/**
2424 	 * Deprecated
2425 	 */
2426 	TEXT = 4,
2427 	/**
2428 	 * Deprecated
2429 	 */
2430 	BASE = 8,
2431 }
2432 alias GtkRcFlags RcFlags;
2433 
2434 /**
2435  * The #GtkRcTokenType enumeration represents the tokens
2436  * in the RC file. It is exposed so that theme engines
2437  * can reuse these tokens when parsing the theme-engine
2438  * specific portions of a RC file.
2439  *
2440  * Deprecated: Use #GtkCssProvider instead.
2441  */
2442 public enum GtkRcTokenType
2443 {
2444 	/**
2445 	 * Deprecated
2446 	 */
2447 	INVALID = 270,
2448 	/**
2449 	 * Deprecated
2450 	 */
2451 	INCLUDE = 271,
2452 	/**
2453 	 * Deprecated
2454 	 */
2455 	NORMAL = 272,
2456 	/**
2457 	 * Deprecated
2458 	 */
2459 	ACTIVE = 273,
2460 	/**
2461 	 * Deprecated
2462 	 */
2463 	PRELIGHT = 274,
2464 	/**
2465 	 * Deprecated
2466 	 */
2467 	SELECTED = 275,
2468 	/**
2469 	 * Deprecated
2470 	 */
2471 	INSENSITIVE = 276,
2472 	/**
2473 	 * Deprecated
2474 	 */
2475 	FG = 277,
2476 	/**
2477 	 * Deprecated
2478 	 */
2479 	BG = 278,
2480 	/**
2481 	 * Deprecated
2482 	 */
2483 	TEXT = 279,
2484 	/**
2485 	 * Deprecated
2486 	 */
2487 	BASE = 280,
2488 	/**
2489 	 * Deprecated
2490 	 */
2491 	XTHICKNESS = 281,
2492 	/**
2493 	 * Deprecated
2494 	 */
2495 	YTHICKNESS = 282,
2496 	/**
2497 	 * Deprecated
2498 	 */
2499 	FONT = 283,
2500 	/**
2501 	 * Deprecated
2502 	 */
2503 	FONTSET = 284,
2504 	/**
2505 	 * Deprecated
2506 	 */
2507 	FONT_NAME = 285,
2508 	/**
2509 	 * Deprecated
2510 	 */
2511 	BG_PIXMAP = 286,
2512 	/**
2513 	 * Deprecated
2514 	 */
2515 	PIXMAP_PATH = 287,
2516 	/**
2517 	 * Deprecated
2518 	 */
2519 	STYLE = 288,
2520 	/**
2521 	 * Deprecated
2522 	 */
2523 	BINDING = 289,
2524 	/**
2525 	 * Deprecated
2526 	 */
2527 	BIND = 290,
2528 	/**
2529 	 * Deprecated
2530 	 */
2531 	WIDGET = 291,
2532 	/**
2533 	 * Deprecated
2534 	 */
2535 	WIDGET_CLASS = 292,
2536 	/**
2537 	 * Deprecated
2538 	 */
2539 	CLASS = 293,
2540 	/**
2541 	 * Deprecated
2542 	 */
2543 	LOWEST = 294,
2544 	/**
2545 	 * Deprecated
2546 	 */
2547 	GTK = 295,
2548 	/**
2549 	 * Deprecated
2550 	 */
2551 	APPLICATION = 296,
2552 	/**
2553 	 * Deprecated
2554 	 */
2555 	THEME = 297,
2556 	/**
2557 	 * Deprecated
2558 	 */
2559 	RC = 298,
2560 	/**
2561 	 * Deprecated
2562 	 */
2563 	HIGHEST = 299,
2564 	/**
2565 	 * Deprecated
2566 	 */
2567 	ENGINE = 300,
2568 	/**
2569 	 * Deprecated
2570 	 */
2571 	MODULE_PATH = 301,
2572 	/**
2573 	 * Deprecated
2574 	 */
2575 	IM_MODULE_PATH = 302,
2576 	/**
2577 	 * Deprecated
2578 	 */
2579 	IM_MODULE_FILE = 303,
2580 	/**
2581 	 * Deprecated
2582 	 */
2583 	STOCK = 304,
2584 	/**
2585 	 * Deprecated
2586 	 */
2587 	LTR = 305,
2588 	/**
2589 	 * Deprecated
2590 	 */
2591 	RTL = 306,
2592 	/**
2593 	 * Deprecated
2594 	 */
2595 	COLOR = 307,
2596 	/**
2597 	 * Deprecated
2598 	 */
2599 	UNBIND = 308,
2600 	/**
2601 	 * Deprecated
2602 	 */
2603 	LAST = 309,
2604 }
2605 alias GtkRcTokenType RcTokenType;
2606 
2607 /**
2608  * These identify the various errors that can occur while calling
2609  * #GtkRecentChooser functions.
2610  *
2611  * Since: 2.10
2612  */
2613 public enum GtkRecentChooserError
2614 {
2615 	/**
2616 	 * Indicates that a file does not exist
2617 	 */
2618 	NOT_FOUND = 0,
2619 	/**
2620 	 * Indicates a malformed URI
2621 	 */
2622 	INVALID_URI = 1,
2623 }
2624 alias GtkRecentChooserError RecentChooserError;
2625 
2626 /**
2627  * These flags indicate what parts of a #GtkRecentFilterInfo struct
2628  * are filled or need to be filled.
2629  */
2630 public enum GtkRecentFilterFlags
2631 {
2632 	/**
2633 	 * the URI of the file being tested
2634 	 */
2635 	URI = 1,
2636 	/**
2637 	 * the string that will be used to
2638 	 * display the file in the recent chooser
2639 	 */
2640 	DISPLAY_NAME = 2,
2641 	/**
2642 	 * the mime type of the file
2643 	 */
2644 	MIME_TYPE = 4,
2645 	/**
2646 	 * the list of applications that have
2647 	 * registered the file
2648 	 */
2649 	APPLICATION = 8,
2650 	/**
2651 	 * the groups to which the file belongs to
2652 	 */
2653 	GROUP = 16,
2654 	/**
2655 	 * the number of days elapsed since the file
2656 	 * has been registered
2657 	 */
2658 	AGE = 32,
2659 }
2660 alias GtkRecentFilterFlags RecentFilterFlags;
2661 
2662 /**
2663  * Error codes for #GtkRecentManager operations
2664  *
2665  * Since: 2.10
2666  */
2667 public enum GtkRecentManagerError
2668 {
2669 	/**
2670 	 * the URI specified does not exists in
2671 	 * the recently used resources list.
2672 	 */
2673 	NOT_FOUND = 0,
2674 	/**
2675 	 * the URI specified is not valid.
2676 	 */
2677 	INVALID_URI = 1,
2678 	/**
2679 	 * the supplied string is not
2680 	 * UTF-8 encoded.
2681 	 */
2682 	INVALID_ENCODING = 2,
2683 	/**
2684 	 * no application has registered
2685 	 * the specified item.
2686 	 */
2687 	NOT_REGISTERED = 3,
2688 	/**
2689 	 * failure while reading the recently used
2690 	 * resources file.
2691 	 */
2692 	READ = 4,
2693 	/**
2694 	 * failure while writing the recently used
2695 	 * resources file.
2696 	 */
2697 	WRITE = 5,
2698 	/**
2699 	 * unspecified error.
2700 	 */
2701 	UNKNOWN = 6,
2702 }
2703 alias GtkRecentManagerError RecentManagerError;
2704 
2705 /**
2706  * Used to specify the sorting method to be applyed to the recently
2707  * used resource list.
2708  *
2709  * Since: 2.10
2710  */
2711 public enum GtkRecentSortType
2712 {
2713 	/**
2714 	 * Do not sort the returned list of recently used
2715 	 * resources.
2716 	 */
2717 	NONE = 0,
2718 	/**
2719 	 * Sort the returned list with the most recently used
2720 	 * items first.
2721 	 */
2722 	MRU = 1,
2723 	/**
2724 	 * Sort the returned list with the least recently used
2725 	 * items first.
2726 	 */
2727 	LRU = 2,
2728 	/**
2729 	 * Sort the returned list using a custom sorting
2730 	 * function passed using gtk_recent_chooser_set_sort_func().
2731 	 */
2732 	CUSTOM = 3,
2733 }
2734 alias GtkRecentSortType RecentSortType;
2735 
2736 /**
2737  * Describes a region within a widget.
2738  */
2739 public enum GtkRegionFlags
2740 {
2741 	/**
2742 	 * Region has an even number within a set.
2743 	 */
2744 	EVEN = 1,
2745 	/**
2746 	 * Region has an odd number within a set.
2747 	 */
2748 	ODD = 2,
2749 	/**
2750 	 * Region is the first one within a set.
2751 	 */
2752 	FIRST = 4,
2753 	/**
2754 	 * Region is the last one within a set.
2755 	 */
2756 	LAST = 8,
2757 	/**
2758 	 * Region is the only one within a set.
2759 	 */
2760 	ONLY = 16,
2761 	/**
2762 	 * Region is part of a sorted area.
2763 	 */
2764 	SORTED = 32,
2765 }
2766 alias GtkRegionFlags RegionFlags;
2767 
2768 /**
2769  * Indicated the relief to be drawn around a #GtkButton.
2770  */
2771 public enum GtkReliefStyle
2772 {
2773 	/**
2774 	 * Draw a normal relief.
2775 	 */
2776 	NORMAL = 0,
2777 	/**
2778 	 * A half relief. Deprecated in 3.14, does the same as @GTK_RELIEF_NORMAL
2779 	 */
2780 	HALF = 1,
2781 	/**
2782 	 * No relief.
2783 	 */
2784 	NONE = 2,
2785 }
2786 alias GtkReliefStyle ReliefStyle;
2787 
2788 public enum GtkResizeMode
2789 {
2790 	/**
2791 	 * Pass resize request to the parent
2792 	 */
2793 	PARENT = 0,
2794 	/**
2795 	 * Queue resizes on this widget
2796 	 */
2797 	QUEUE = 1,
2798 	/**
2799 	 * Resize immediately. Deprecated.
2800 	 */
2801 	IMMEDIATE = 2,
2802 }
2803 alias GtkResizeMode ResizeMode;
2804 
2805 /**
2806  * Predefined values for use as response ids in gtk_dialog_add_button().
2807  * All predefined values are negative; GTK+ leaves values of 0 or greater for
2808  * application-defined response ids.
2809  */
2810 public enum GtkResponseType
2811 {
2812 	/**
2813 	 * Returned if an action widget has no response id,
2814 	 * or if the dialog gets programmatically hidden or destroyed
2815 	 */
2816 	NONE = -1,
2817 	/**
2818 	 * Generic response id, not used by GTK+ dialogs
2819 	 */
2820 	REJECT = -2,
2821 	/**
2822 	 * Generic response id, not used by GTK+ dialogs
2823 	 */
2824 	ACCEPT = -3,
2825 	/**
2826 	 * Returned if the dialog is deleted
2827 	 */
2828 	DELETE_EVENT = -4,
2829 	/**
2830 	 * Returned by OK buttons in GTK+ dialogs
2831 	 */
2832 	OK = -5,
2833 	/**
2834 	 * Returned by Cancel buttons in GTK+ dialogs
2835 	 */
2836 	CANCEL = -6,
2837 	/**
2838 	 * Returned by Close buttons in GTK+ dialogs
2839 	 */
2840 	CLOSE = -7,
2841 	/**
2842 	 * Returned by Yes buttons in GTK+ dialogs
2843 	 */
2844 	YES = -8,
2845 	/**
2846 	 * Returned by No buttons in GTK+ dialogs
2847 	 */
2848 	NO = -9,
2849 	/**
2850 	 * Returned by Apply buttons in GTK+ dialogs
2851 	 */
2852 	APPLY = -10,
2853 	/**
2854 	 * Returned by Help buttons in GTK+ dialogs
2855 	 */
2856 	HELP = -11,
2857 }
2858 alias GtkResponseType ResponseType;
2859 
2860 /**
2861  * These enumeration values describe the possible transitions
2862  * when the child of a #GtkRevealer widget is shown or hidden.
2863  */
2864 public enum GtkRevealerTransitionType
2865 {
2866 	/**
2867 	 * No transition
2868 	 */
2869 	NONE = 0,
2870 	/**
2871 	 * Fade in
2872 	 */
2873 	CROSSFADE = 1,
2874 	/**
2875 	 * Slide in from the left
2876 	 */
2877 	SLIDE_RIGHT = 2,
2878 	/**
2879 	 * Slide in from the right
2880 	 */
2881 	SLIDE_LEFT = 3,
2882 	/**
2883 	 * Slide in from the bottom
2884 	 */
2885 	SLIDE_UP = 4,
2886 	/**
2887 	 * Slide in from the top
2888 	 */
2889 	SLIDE_DOWN = 5,
2890 }
2891 alias GtkRevealerTransitionType RevealerTransitionType;
2892 
2893 public enum GtkScrollStep
2894 {
2895 	/**
2896 	 * Scroll in steps.
2897 	 */
2898 	STEPS = 0,
2899 	/**
2900 	 * Scroll by pages.
2901 	 */
2902 	PAGES = 1,
2903 	/**
2904 	 * Scroll to ends.
2905 	 */
2906 	ENDS = 2,
2907 	/**
2908 	 * Scroll in horizontal steps.
2909 	 */
2910 	HORIZONTAL_STEPS = 3,
2911 	/**
2912 	 * Scroll by horizontal pages.
2913 	 */
2914 	HORIZONTAL_PAGES = 4,
2915 	/**
2916 	 * Scroll to the horizontal ends.
2917 	 */
2918 	HORIZONTAL_ENDS = 5,
2919 }
2920 alias GtkScrollStep ScrollStep;
2921 
2922 /**
2923  * Scrolling types.
2924  */
2925 public enum GtkScrollType
2926 {
2927 	/**
2928 	 * No scrolling.
2929 	 */
2930 	NONE = 0,
2931 	/**
2932 	 * Jump to new location.
2933 	 */
2934 	JUMP = 1,
2935 	/**
2936 	 * Step backward.
2937 	 */
2938 	STEP_BACKWARD = 2,
2939 	/**
2940 	 * Step forward.
2941 	 */
2942 	STEP_FORWARD = 3,
2943 	/**
2944 	 * Page backward.
2945 	 */
2946 	PAGE_BACKWARD = 4,
2947 	/**
2948 	 * Page forward.
2949 	 */
2950 	PAGE_FORWARD = 5,
2951 	/**
2952 	 * Step up.
2953 	 */
2954 	STEP_UP = 6,
2955 	/**
2956 	 * Step down.
2957 	 */
2958 	STEP_DOWN = 7,
2959 	/**
2960 	 * Page up.
2961 	 */
2962 	PAGE_UP = 8,
2963 	/**
2964 	 * Page down.
2965 	 */
2966 	PAGE_DOWN = 9,
2967 	/**
2968 	 * Step to the left.
2969 	 */
2970 	STEP_LEFT = 10,
2971 	/**
2972 	 * Step to the right.
2973 	 */
2974 	STEP_RIGHT = 11,
2975 	/**
2976 	 * Page to the left.
2977 	 */
2978 	PAGE_LEFT = 12,
2979 	/**
2980 	 * Page to the right.
2981 	 */
2982 	PAGE_RIGHT = 13,
2983 	/**
2984 	 * Scroll to start.
2985 	 */
2986 	START = 14,
2987 	/**
2988 	 * Scroll to end.
2989 	 */
2990 	END = 15,
2991 }
2992 alias GtkScrollType ScrollType;
2993 
2994 /**
2995  * Defines the policy to be used in a scrollable widget when updating
2996  * the scrolled window adjustments in a given orientation.
2997  */
2998 public enum GtkScrollablePolicy
2999 {
3000 	/**
3001 	 * Scrollable adjustments are based on the minimum size
3002 	 */
3003 	MINIMUM = 0,
3004 	/**
3005 	 * Scrollable adjustments are based on the natural size
3006 	 */
3007 	NATURAL = 1,
3008 }
3009 alias GtkScrollablePolicy ScrollablePolicy;
3010 
3011 /**
3012  * Used to control what selections users are allowed to make.
3013  */
3014 public enum GtkSelectionMode
3015 {
3016 	/**
3017 	 * No selection is possible.
3018 	 */
3019 	NONE = 0,
3020 	/**
3021 	 * Zero or one element may be selected.
3022 	 */
3023 	SINGLE = 1,
3024 	/**
3025 	 * Exactly one element is selected.
3026 	 * In some circumstances, such as initially or during a search
3027 	 * operation, it’s possible for no element to be selected with
3028 	 * %GTK_SELECTION_BROWSE. What is really enforced is that the user
3029 	 * can’t deselect a currently selected element except by selecting
3030 	 * another element.
3031 	 */
3032 	BROWSE = 2,
3033 	/**
3034 	 * Any number of elements may be selected.
3035 	 * The Ctrl key may be used to enlarge the selection, and Shift
3036 	 * key to select between the focus and the child pointed to.
3037 	 * Some widgets may also allow Click-drag to select a range of elements.
3038 	 */
3039 	MULTIPLE = 3,
3040 }
3041 alias GtkSelectionMode SelectionMode;
3042 
3043 /**
3044  * Determines how GTK+ handles the sensitivity of stepper arrows
3045  * at the end of range widgets.
3046  */
3047 public enum GtkSensitivityType
3048 {
3049 	/**
3050 	 * The arrow is made insensitive if the
3051 	 * thumb is at the end
3052 	 */
3053 	AUTO = 0,
3054 	/**
3055 	 * The arrow is always sensitive
3056 	 */
3057 	ON = 1,
3058 	/**
3059 	 * The arrow is always insensitive
3060 	 */
3061 	OFF = 2,
3062 }
3063 alias GtkSensitivityType SensitivityType;
3064 
3065 /**
3066  * Used to change the appearance of an outline typically provided by a #GtkFrame.
3067  *
3068  * Note that many themes do not differentiate the appearance of the
3069  * various shadow types: Either their is no visible shadow (@GTK_SHADOW_NONE),
3070  * or there is (any other value).
3071  */
3072 public enum GtkShadowType
3073 {
3074 	/**
3075 	 * No outline.
3076 	 */
3077 	NONE = 0,
3078 	/**
3079 	 * The outline is bevelled inwards.
3080 	 */
3081 	IN = 1,
3082 	/**
3083 	 * The outline is bevelled outwards like a button.
3084 	 */
3085 	OUT = 2,
3086 	/**
3087 	 * The outline has a sunken 3d appearance.
3088 	 */
3089 	ETCHED_IN = 3,
3090 	/**
3091 	 * The outline has a raised 3d appearance.
3092 	 */
3093 	ETCHED_OUT = 4,
3094 }
3095 alias GtkShadowType ShadowType;
3096 
3097 /**
3098  * GtkShortcutType specifies the kind of shortcut that is being described.
3099  * More values may be added to this enumeration over time.
3100  *
3101  * Since: 3.20
3102  */
3103 public enum GtkShortcutType
3104 {
3105 	/**
3106 	 * The shortcut is a keyboard accelerator. The #GtkShortcutsShortcut:accelerator
3107 	 * property will be used.
3108 	 */
3109 	ACCELERATOR = 0,
3110 	/**
3111 	 * The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.
3112 	 */
3113 	GESTURE_PINCH = 1,
3114 	/**
3115 	 * The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.
3116 	 */
3117 	GESTURE_STRETCH = 2,
3118 	/**
3119 	 * The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.
3120 	 */
3121 	GESTURE_ROTATE_CLOCKWISE = 3,
3122 	/**
3123 	 * The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.
3124 	 */
3125 	GESTURE_ROTATE_COUNTERCLOCKWISE = 4,
3126 	/**
3127 	 * The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
3128 	 */
3129 	GESTURE_TWO_FINGER_SWIPE_LEFT = 5,
3130 	/**
3131 	 * The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
3132 	 */
3133 	GESTURE_TWO_FINGER_SWIPE_RIGHT = 6,
3134 	/**
3135 	 * The shortcut is a gesture. The #GtkShortcutsShortcut:icon property will be
3136 	 * used.
3137 	 */
3138 	GESTURE = 7,
3139 }
3140 alias GtkShortcutType ShortcutType;
3141 
3142 /**
3143  * The mode of the size group determines the directions in which the size
3144  * group affects the requested sizes of its component widgets.
3145  */
3146 public enum GtkSizeGroupMode
3147 {
3148 	/**
3149 	 * group has no effect
3150 	 */
3151 	NONE = 0,
3152 	/**
3153 	 * group affects horizontal requisition
3154 	 */
3155 	HORIZONTAL = 1,
3156 	/**
3157 	 * group affects vertical requisition
3158 	 */
3159 	VERTICAL = 2,
3160 	/**
3161 	 * group affects both horizontal and vertical requisition
3162 	 */
3163 	BOTH = 3,
3164 }
3165 alias GtkSizeGroupMode SizeGroupMode;
3166 
3167 /**
3168  * Specifies a preference for height-for-width or
3169  * width-for-height geometry management.
3170  */
3171 public enum GtkSizeRequestMode
3172 {
3173 	/**
3174 	 * Prefer height-for-width geometry management
3175 	 */
3176 	HEIGHT_FOR_WIDTH = 0,
3177 	/**
3178 	 * Prefer width-for-height geometry management
3179 	 */
3180 	WIDTH_FOR_HEIGHT = 1,
3181 	/**
3182 	 * Don’t trade height-for-width or width-for-height
3183 	 */
3184 	CONSTANT_SIZE = 2,
3185 }
3186 alias GtkSizeRequestMode SizeRequestMode;
3187 
3188 /**
3189  * Determines the direction of a sort.
3190  */
3191 public enum GtkSortType
3192 {
3193 	/**
3194 	 * Sorting is in ascending order.
3195 	 */
3196 	ASCENDING = 0,
3197 	/**
3198 	 * Sorting is in descending order.
3199 	 */
3200 	DESCENDING = 1,
3201 }
3202 alias GtkSortType SortType;
3203 
3204 /**
3205  * The spin button update policy determines whether the spin button displays
3206  * values even if they are outside the bounds of its adjustment.
3207  * See gtk_spin_button_set_update_policy().
3208  */
3209 public enum GtkSpinButtonUpdatePolicy
3210 {
3211 	/**
3212 	 * When refreshing your #GtkSpinButton, the value is
3213 	 * always displayed
3214 	 */
3215 	ALWAYS = 0,
3216 	/**
3217 	 * When refreshing your #GtkSpinButton, the value is
3218 	 * only displayed if it is valid within the bounds of the spin button's
3219 	 * adjustment
3220 	 */
3221 	IF_VALID = 1,
3222 }
3223 alias GtkSpinButtonUpdatePolicy SpinButtonUpdatePolicy;
3224 
3225 /**
3226  * The values of the GtkSpinType enumeration are used to specify the
3227  * change to make in gtk_spin_button_spin().
3228  */
3229 public enum GtkSpinType
3230 {
3231 	/**
3232 	 * Increment by the adjustments step increment.
3233 	 */
3234 	STEP_FORWARD = 0,
3235 	/**
3236 	 * Decrement by the adjustments step increment.
3237 	 */
3238 	STEP_BACKWARD = 1,
3239 	/**
3240 	 * Increment by the adjustments page increment.
3241 	 */
3242 	PAGE_FORWARD = 2,
3243 	/**
3244 	 * Decrement by the adjustments page increment.
3245 	 */
3246 	PAGE_BACKWARD = 3,
3247 	/**
3248 	 * Go to the adjustments lower bound.
3249 	 */
3250 	HOME = 4,
3251 	/**
3252 	 * Go to the adjustments upper bound.
3253 	 */
3254 	END = 5,
3255 	/**
3256 	 * Change by a specified amount.
3257 	 */
3258 	USER_DEFINED = 6,
3259 }
3260 alias GtkSpinType SpinType;
3261 
3262 /**
3263  * These enumeration values describe the possible transitions
3264  * between pages in a #GtkStack widget.
3265  *
3266  * New values may be added to this enumeration over time.
3267  */
3268 public enum GtkStackTransitionType
3269 {
3270 	/**
3271 	 * No transition
3272 	 */
3273 	NONE = 0,
3274 	/**
3275 	 * A cross-fade
3276 	 */
3277 	CROSSFADE = 1,
3278 	/**
3279 	 * Slide from left to right
3280 	 */
3281 	SLIDE_RIGHT = 2,
3282 	/**
3283 	 * Slide from right to left
3284 	 */
3285 	SLIDE_LEFT = 3,
3286 	/**
3287 	 * Slide from bottom up
3288 	 */
3289 	SLIDE_UP = 4,
3290 	/**
3291 	 * Slide from top down
3292 	 */
3293 	SLIDE_DOWN = 5,
3294 	/**
3295 	 * Slide from left or right according to the children order
3296 	 */
3297 	SLIDE_LEFT_RIGHT = 6,
3298 	/**
3299 	 * Slide from top down or bottom up according to the order
3300 	 */
3301 	SLIDE_UP_DOWN = 7,
3302 	/**
3303 	 * Cover the old page by sliding up. Since 3.12
3304 	 */
3305 	OVER_UP = 8,
3306 	/**
3307 	 * Cover the old page by sliding down. Since: 3.12
3308 	 */
3309 	OVER_DOWN = 9,
3310 	/**
3311 	 * Cover the old page by sliding to the left. Since: 3.12
3312 	 */
3313 	OVER_LEFT = 10,
3314 	/**
3315 	 * Cover the old page by sliding to the right. Since: 3.12
3316 	 */
3317 	OVER_RIGHT = 11,
3318 	/**
3319 	 * Uncover the new page by sliding up. Since 3.12
3320 	 */
3321 	UNDER_UP = 12,
3322 	/**
3323 	 * Uncover the new page by sliding down. Since: 3.12
3324 	 */
3325 	UNDER_DOWN = 13,
3326 	/**
3327 	 * Uncover the new page by sliding to the left. Since: 3.12
3328 	 */
3329 	UNDER_LEFT = 14,
3330 	/**
3331 	 * Uncover the new page by sliding to the right. Since: 3.12
3332 	 */
3333 	UNDER_RIGHT = 15,
3334 	/**
3335 	 * Cover the old page sliding up or uncover the new page sliding down, according to order. Since: 3.12
3336 	 */
3337 	OVER_UP_DOWN = 16,
3338 	/**
3339 	 * Cover the old page sliding down or uncover the new page sliding up, according to order. Since: 3.14
3340 	 */
3341 	OVER_DOWN_UP = 17,
3342 	/**
3343 	 * Cover the old page sliding left or uncover the new page sliding right, according to order. Since: 3.14
3344 	 */
3345 	OVER_LEFT_RIGHT = 18,
3346 	/**
3347 	 * Cover the old page sliding right or uncover the new page sliding left, according to order. Since: 3.14
3348 	 */
3349 	OVER_RIGHT_LEFT = 19,
3350 }
3351 alias GtkStackTransitionType StackTransitionType;
3352 
3353 /**
3354  * Describes a widget state. Widget states are used to match the widget
3355  * against CSS pseudo-classes. Note that GTK extends the regular CSS
3356  * classes and sometimes uses different names.
3357  */
3358 public enum GtkStateFlags
3359 {
3360 	/**
3361 	 * State during normal operation.
3362 	 */
3363 	NORMAL = 0,
3364 	/**
3365 	 * Widget is active.
3366 	 */
3367 	ACTIVE = 1,
3368 	/**
3369 	 * Widget has a mouse pointer over it.
3370 	 */
3371 	PRELIGHT = 2,
3372 	/**
3373 	 * Widget is selected.
3374 	 */
3375 	SELECTED = 4,
3376 	/**
3377 	 * Widget is insensitive.
3378 	 */
3379 	INSENSITIVE = 8,
3380 	/**
3381 	 * Widget is inconsistent.
3382 	 */
3383 	INCONSISTENT = 16,
3384 	/**
3385 	 * Widget has the keyboard focus.
3386 	 */
3387 	FOCUSED = 32,
3388 	/**
3389 	 * Widget is in a background toplevel window.
3390 	 */
3391 	BACKDROP = 64,
3392 	/**
3393 	 * Widget is in left-to-right text direction. Since 3.8
3394 	 */
3395 	DIR_LTR = 128,
3396 	/**
3397 	 * Widget is in right-to-left text direction. Since 3.8
3398 	 */
3399 	DIR_RTL = 256,
3400 	/**
3401 	 * Widget is a link. Since 3.12
3402 	 */
3403 	LINK = 512,
3404 	/**
3405 	 * The location the widget points to has already been visited. Since 3.12
3406 	 */
3407 	VISITED = 1024,
3408 	/**
3409 	 * Widget is checked. Since 3.14
3410 	 */
3411 	CHECKED = 2048,
3412 	/**
3413 	 * Widget is highlighted as a drop target for DND. Since 3.20
3414 	 */
3415 	DROP_ACTIVE = 4096,
3416 }
3417 alias GtkStateFlags StateFlags;
3418 
3419 /**
3420  * This type indicates the current state of a widget; the state determines how
3421  * the widget is drawn. The #GtkStateType enumeration is also used to
3422  * identify different colors in a #GtkStyle for drawing, so states can be
3423  * used for subparts of a widget as well as entire widgets.
3424  *
3425  * Deprecated: All APIs that are using this enumeration have been deprecated
3426  * in favor of alternatives using #GtkStateFlags.
3427  */
3428 public enum GtkStateType
3429 {
3430 	/**
3431 	 * State during normal operation.
3432 	 */
3433 	NORMAL = 0,
3434 	/**
3435 	 * State of a currently active widget, such as a depressed button.
3436 	 */
3437 	ACTIVE = 1,
3438 	/**
3439 	 * State indicating that the mouse pointer is over
3440 	 * the widget and the widget will respond to mouse clicks.
3441 	 */
3442 	PRELIGHT = 2,
3443 	/**
3444 	 * State of a selected item, such the selected row in a list.
3445 	 */
3446 	SELECTED = 3,
3447 	/**
3448 	 * State indicating that the widget is
3449 	 * unresponsive to user actions.
3450 	 */
3451 	INSENSITIVE = 4,
3452 	/**
3453 	 * The widget is inconsistent, such as checkbuttons
3454 	 * or radiobuttons that aren’t either set to %TRUE nor %FALSE,
3455 	 * or buttons requiring the user attention.
3456 	 */
3457 	INCONSISTENT = 5,
3458 	/**
3459 	 * The widget has the keyboard focus.
3460 	 */
3461 	FOCUSED = 6,
3462 }
3463 alias GtkStateType StateType;
3464 
3465 /**
3466  * Flags that modify the behavior of gtk_style_context_to_string().
3467  * New values may be added to this enumeration.
3468  */
3469 public enum GtkStyleContextPrintFlags
3470 {
3471 	NONE = 0,
3472 	/**
3473 	 * Print the entire tree of
3474 	 * CSS nodes starting at the style context's node
3475 	 */
3476 	RECURSE = 1,
3477 	/**
3478 	 * Show the values of the
3479 	 * CSS properties for each node
3480 	 */
3481 	SHOW_STYLE = 2,
3482 }
3483 alias GtkStyleContextPrintFlags StyleContextPrintFlags;
3484 
3485 /**
3486  * The #GtkTargetFlags enumeration is used to specify
3487  * constraints on a #GtkTargetEntry.
3488  */
3489 public enum GtkTargetFlags
3490 {
3491 	/**
3492 	 * If this is set, the target will only be selected
3493 	 * for drags within a single application.
3494 	 */
3495 	SAME_APP = 1,
3496 	/**
3497 	 * If this is set, the target will only be selected
3498 	 * for drags within a single widget.
3499 	 */
3500 	SAME_WIDGET = 2,
3501 	/**
3502 	 * If this is set, the target will not be selected
3503 	 * for drags within a single application.
3504 	 */
3505 	OTHER_APP = 4,
3506 	/**
3507 	 * If this is set, the target will not be selected
3508 	 * for drags withing a single widget.
3509 	 */
3510 	OTHER_WIDGET = 8,
3511 }
3512 alias GtkTargetFlags TargetFlags;
3513 
3514 /**
3515  * These values are used as “info” for the targets contained in the
3516  * lists returned by gtk_text_buffer_get_copy_target_list() and
3517  * gtk_text_buffer_get_paste_target_list().
3518  *
3519  * The values counts down from `-1` to avoid clashes
3520  * with application added drag destinations which usually start at 0.
3521  */
3522 public enum GtkTextBufferTargetInfo
3523 {
3524 	/**
3525 	 * Buffer contents
3526 	 */
3527 	BUFFER_CONTENTS = -1,
3528 	/**
3529 	 * Rich text
3530 	 */
3531 	RICH_TEXT = -2,
3532 	/**
3533 	 * Text
3534 	 */
3535 	TEXT = -3,
3536 }
3537 alias GtkTextBufferTargetInfo TextBufferTargetInfo;
3538 
3539 /**
3540  * Reading directions for text.
3541  */
3542 public enum GtkTextDirection
3543 {
3544 	/**
3545 	 * No direction.
3546 	 */
3547 	NONE = 0,
3548 	/**
3549 	 * Left to right text direction.
3550 	 */
3551 	LTR = 1,
3552 	/**
3553 	 * Right to left text direction.
3554 	 */
3555 	RTL = 2,
3556 }
3557 alias GtkTextDirection TextDirection;
3558 
3559 /**
3560  * Granularity types that extend the text selection. Use the
3561  * #GtkTextView::extend-selection signal to customize the selection.
3562  *
3563  * Since: 3.16
3564  */
3565 public enum GtkTextExtendSelection
3566 {
3567 	/**
3568 	 * Selects the current word. It is triggered by
3569 	 * a double-click for example.
3570 	 */
3571 	WORD = 0,
3572 	/**
3573 	 * Selects the current line. It is triggered by
3574 	 * a triple-click for example.
3575 	 */
3576 	LINE = 1,
3577 }
3578 alias GtkTextExtendSelection TextExtendSelection;
3579 
3580 /**
3581  * Flags affecting how a search is done.
3582  *
3583  * If neither #GTK_TEXT_SEARCH_VISIBLE_ONLY nor #GTK_TEXT_SEARCH_TEXT_ONLY are
3584  * enabled, the match must be exact; the special 0xFFFC character will match
3585  * embedded pixbufs or child widgets.
3586  */
3587 public enum GtkTextSearchFlags
3588 {
3589 	/**
3590 	 * Search only visible data. A search match may
3591 	 * have invisible text interspersed.
3592 	 */
3593 	VISIBLE_ONLY = 1,
3594 	/**
3595 	 * Search only text. A match may have pixbufs or
3596 	 * child widgets mixed inside the matched range.
3597 	 */
3598 	TEXT_ONLY = 2,
3599 	/**
3600 	 * The text will be matched regardless of
3601 	 * what case it is in.
3602 	 */
3603 	CASE_INSENSITIVE = 4,
3604 }
3605 alias GtkTextSearchFlags TextSearchFlags;
3606 
3607 /**
3608  * Used to reference the layers of #GtkTextView for the purpose of customized
3609  * drawing with the ::draw_layer vfunc.
3610  */
3611 public enum GtkTextViewLayer
3612 {
3613 	/**
3614 	 * Old deprecated layer, use %GTK_TEXT_VIEW_LAYER_BELOW_TEXT instead
3615 	 */
3616 	BELOW = 0,
3617 	/**
3618 	 * Old deprecated layer, use %GTK_TEXT_VIEW_LAYER_ABOVE_TEXT instead
3619 	 */
3620 	ABOVE = 1,
3621 	/**
3622 	 * The layer rendered below the text (but above the background).  Since: 3.20
3623 	 */
3624 	BELOW_TEXT = 2,
3625 	/**
3626 	 * The layer rendered above the text.  Since: 3.20
3627 	 */
3628 	ABOVE_TEXT = 3,
3629 }
3630 alias GtkTextViewLayer TextViewLayer;
3631 
3632 /**
3633  * Used to reference the parts of #GtkTextView.
3634  */
3635 public enum GtkTextWindowType
3636 {
3637 	/**
3638 	 * Invalid value, used as a marker
3639 	 */
3640 	PRIVATE = 0,
3641 	/**
3642 	 * Window that floats over scrolling areas.
3643 	 */
3644 	WIDGET = 1,
3645 	/**
3646 	 * Scrollable text window.
3647 	 */
3648 	TEXT = 2,
3649 	/**
3650 	 * Left side border window.
3651 	 */
3652 	LEFT = 3,
3653 	/**
3654 	 * Right side border window.
3655 	 */
3656 	RIGHT = 4,
3657 	/**
3658 	 * Top border window.
3659 	 */
3660 	TOP = 5,
3661 	/**
3662 	 * Bottom border window.
3663 	 */
3664 	BOTTOM = 6,
3665 }
3666 alias GtkTextWindowType TextWindowType;
3667 
3668 /**
3669  * Flags used to specify the supported drag targets.
3670  */
3671 public enum GtkToolPaletteDragTargets
3672 {
3673 	/**
3674 	 * Support drag of items.
3675 	 */
3676 	ITEMS = 1,
3677 	/**
3678 	 * Support drag of groups.
3679 	 */
3680 	GROUPS = 2,
3681 }
3682 alias GtkToolPaletteDragTargets ToolPaletteDragTargets;
3683 
3684 /**
3685  * Whether spacers are vertical lines or just blank.
3686  */
3687 public enum GtkToolbarSpaceStyle
3688 {
3689 	/**
3690 	 * Use blank spacers.
3691 	 */
3692 	EMPTY = 0,
3693 	/**
3694 	 * Use vertical lines for spacers.
3695 	 */
3696 	LINE = 1,
3697 }
3698 alias GtkToolbarSpaceStyle ToolbarSpaceStyle;
3699 
3700 /**
3701  * Used to customize the appearance of a #GtkToolbar. Note that
3702  * setting the toolbar style overrides the user’s preferences
3703  * for the default toolbar style.  Note that if the button has only
3704  * a label set and GTK_TOOLBAR_ICONS is used, the label will be
3705  * visible, and vice versa.
3706  */
3707 public enum GtkToolbarStyle
3708 {
3709 	/**
3710 	 * Buttons display only icons in the toolbar.
3711 	 */
3712 	ICONS = 0,
3713 	/**
3714 	 * Buttons display only text labels in the toolbar.
3715 	 */
3716 	TEXT = 1,
3717 	/**
3718 	 * Buttons display text and icons in the toolbar.
3719 	 */
3720 	BOTH = 2,
3721 	/**
3722 	 * Buttons display icons and text alongside each
3723 	 * other, rather than vertically stacked
3724 	 */
3725 	BOTH_HORIZ = 3,
3726 }
3727 alias GtkToolbarStyle ToolbarStyle;
3728 
3729 /**
3730  * These flags indicate various properties of a #GtkTreeModel.
3731  *
3732  * They are returned by gtk_tree_model_get_flags(), and must be
3733  * static for the lifetime of the object. A more complete description
3734  * of #GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of
3735  * this section.
3736  */
3737 public enum GtkTreeModelFlags
3738 {
3739 	/**
3740 	 * iterators survive all signals
3741 	 * emitted by the tree
3742 	 */
3743 	ITERS_PERSIST = 1,
3744 	/**
3745 	 * the model is a list only, and never
3746 	 * has children
3747 	 */
3748 	LIST_ONLY = 2,
3749 }
3750 alias GtkTreeModelFlags TreeModelFlags;
3751 
3752 /**
3753  * The sizing method the column uses to determine its width.  Please note
3754  * that @GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and
3755  * can make columns appear choppy.
3756  */
3757 public enum GtkTreeViewColumnSizing
3758 {
3759 	/**
3760 	 * Columns only get bigger in reaction to changes in the model
3761 	 */
3762 	GROW_ONLY = 0,
3763 	/**
3764 	 * Columns resize to be the optimal size everytime the model changes.
3765 	 */
3766 	AUTOSIZE = 1,
3767 	/**
3768 	 * Columns are a fixed numbers of pixels wide.
3769 	 */
3770 	FIXED = 2,
3771 }
3772 alias GtkTreeViewColumnSizing TreeViewColumnSizing;
3773 
3774 /**
3775  * An enum for determining where a dropped row goes.
3776  */
3777 public enum GtkTreeViewDropPosition
3778 {
3779 	/**
3780 	 * dropped row is inserted before
3781 	 */
3782 	BEFORE = 0,
3783 	/**
3784 	 * dropped row is inserted after
3785 	 */
3786 	AFTER = 1,
3787 	/**
3788 	 * dropped row becomes a child or is inserted before
3789 	 */
3790 	INTO_OR_BEFORE = 2,
3791 	/**
3792 	 * dropped row becomes a child or is inserted after
3793 	 */
3794 	INTO_OR_AFTER = 3,
3795 }
3796 alias GtkTreeViewDropPosition TreeViewDropPosition;
3797 
3798 /**
3799  * Used to indicate which grid lines to draw in a tree view.
3800  */
3801 public enum GtkTreeViewGridLines
3802 {
3803 	/**
3804 	 * No grid lines.
3805 	 */
3806 	NONE = 0,
3807 	/**
3808 	 * Horizontal grid lines.
3809 	 */
3810 	HORIZONTAL = 1,
3811 	/**
3812 	 * Vertical grid lines.
3813 	 */
3814 	VERTICAL = 2,
3815 	/**
3816 	 * Horizontal and vertical grid lines.
3817 	 */
3818 	BOTH = 3,
3819 }
3820 alias GtkTreeViewGridLines TreeViewGridLines;
3821 
3822 /**
3823  * These enumeration values are used by gtk_ui_manager_add_ui() to determine
3824  * what UI element to create.
3825  */
3826 public enum GtkUIManagerItemType
3827 {
3828 	/**
3829 	 * Pick the type of the UI element according to context.
3830 	 */
3831 	AUTO = 0,
3832 	/**
3833 	 * Create a menubar.
3834 	 */
3835 	MENUBAR = 1,
3836 	/**
3837 	 * Create a menu.
3838 	 */
3839 	MENU = 2,
3840 	/**
3841 	 * Create a toolbar.
3842 	 */
3843 	TOOLBAR = 4,
3844 	/**
3845 	 * Insert a placeholder.
3846 	 */
3847 	PLACEHOLDER = 8,
3848 	/**
3849 	 * Create a popup menu.
3850 	 */
3851 	POPUP = 16,
3852 	/**
3853 	 * Create a menuitem.
3854 	 */
3855 	MENUITEM = 32,
3856 	/**
3857 	 * Create a toolitem.
3858 	 */
3859 	TOOLITEM = 64,
3860 	/**
3861 	 * Create a separator.
3862 	 */
3863 	SEPARATOR = 128,
3864 	/**
3865 	 * Install an accelerator.
3866 	 */
3867 	ACCELERATOR = 256,
3868 	/**
3869 	 * Same as %GTK_UI_MANAGER_POPUP, but the
3870 	 * actions’ accelerators are shown.
3871 	 */
3872 	POPUP_WITH_ACCELS = 512,
3873 }
3874 alias GtkUIManagerItemType UIManagerItemType;
3875 
3876 /**
3877  * See also gtk_print_settings_set_paper_width().
3878  */
3879 public enum GtkUnit
3880 {
3881 	/**
3882 	 * No units.
3883 	 */
3884 	NONE = 0,
3885 	/**
3886 	 * Dimensions in points.
3887 	 */
3888 	POINTS = 1,
3889 	/**
3890 	 * Dimensions in inches.
3891 	 */
3892 	INCH = 2,
3893 	/**
3894 	 * Dimensions in millimeters
3895 	 */
3896 	MM = 3,
3897 }
3898 alias GtkUnit Unit;
3899 
3900 /**
3901  * Kinds of widget-specific help. Used by the ::show-help signal.
3902  */
3903 public enum GtkWidgetHelpType
3904 {
3905 	/**
3906 	 * Tooltip.
3907 	 */
3908 	TOOLTIP = 0,
3909 	/**
3910 	 * What’s this.
3911 	 */
3912 	WHATS_THIS = 1,
3913 }
3914 alias GtkWidgetHelpType WidgetHelpType;
3915 
3916 /**
3917  * Window placement can be influenced using this enumeration. Note that
3918  * using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea.
3919  * It won’t necessarily work well with all window managers or on all windowing systems.
3920  */
3921 public enum GtkWindowPosition
3922 {
3923 	/**
3924 	 * No influence is made on placement.
3925 	 */
3926 	NONE = 0,
3927 	/**
3928 	 * Windows should be placed in the center of the screen.
3929 	 */
3930 	CENTER = 1,
3931 	/**
3932 	 * Windows should be placed at the current mouse position.
3933 	 */
3934 	MOUSE = 2,
3935 	/**
3936 	 * Keep window centered as it changes size, etc.
3937 	 */
3938 	CENTER_ALWAYS = 3,
3939 	/**
3940 	 * Center the window on its transient
3941 	 * parent (see gtk_window_set_transient_for()).
3942 	 */
3943 	CENTER_ON_PARENT = 4,
3944 }
3945 alias GtkWindowPosition WindowPosition;
3946 
3947 /**
3948  * A #GtkWindow can be one of these types. Most things you’d consider a
3949  * “window” should have type #GTK_WINDOW_TOPLEVEL; windows with this type
3950  * are managed by the window manager and have a frame by default (call
3951  * gtk_window_set_decorated() to toggle the frame).  Windows with type
3952  * #GTK_WINDOW_POPUP are ignored by the window manager; window manager
3953  * keybindings won’t work on them, the window manager won’t decorate the
3954  * window with a frame, many GTK+ features that rely on the window
3955  * manager will not work (e.g. resize grips and
3956  * maximization/minimization). #GTK_WINDOW_POPUP is used to implement
3957  * widgets such as #GtkMenu or tooltips that you normally don’t think of
3958  * as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL.
3959  * In particular, do not use #GTK_WINDOW_POPUP just to turn off
3960  * the window borders; use gtk_window_set_decorated() for that.
3961  */
3962 public enum GtkWindowType
3963 {
3964 	/**
3965 	 * A regular window, such as a dialog.
3966 	 */
3967 	TOPLEVEL = 0,
3968 	/**
3969 	 * A special window such as a tooltip.
3970 	 */
3971 	POPUP = 1,
3972 }
3973 alias GtkWindowType WindowType;
3974 
3975 /**
3976  * Describes a type of line wrapping.
3977  */
3978 public enum GtkWrapMode
3979 {
3980 	/**
3981 	 * do not wrap lines; just make the text area wider
3982 	 */
3983 	NONE = 0,
3984 	/**
3985 	 * wrap text, breaking lines anywhere the cursor can
3986 	 * appear (between characters, usually - if you want to be technical,
3987 	 * between graphemes, see pango_get_log_attrs())
3988 	 */
3989 	CHAR = 1,
3990 	/**
3991 	 * wrap text, breaking lines in between words
3992 	 */
3993 	WORD = 2,
3994 	/**
3995 	 * wrap text, breaking lines in between words, or if
3996 	 * that is not enough, also between graphemes
3997 	 */
3998 	WORD_CHAR = 3,
3999 }
4000 alias GtkWrapMode WrapMode;
4001 
4002 struct GtkAboutDialog
4003 {
4004 	GtkDialog parentInstance;
4005 	GtkAboutDialogPrivate* priv;
4006 }
4007 
4008 struct GtkAboutDialogClass
4009 {
4010 	GtkDialogClass parentClass;
4011 	/** */
4012 	extern(C) int function(GtkAboutDialog* dialog, const(char)* uri) activateLink;
4013 	/** */
4014 	extern(C) void function() GtkReserved1;
4015 	/** */
4016 	extern(C) void function() GtkReserved2;
4017 	/** */
4018 	extern(C) void function() GtkReserved3;
4019 	/** */
4020 	extern(C) void function() GtkReserved4;
4021 }
4022 
4023 struct GtkAboutDialogPrivate;
4024 
4025 struct GtkAccelGroup
4026 {
4027 	GObject parent;
4028 	GtkAccelGroupPrivate* priv;
4029 }
4030 
4031 struct GtkAccelGroupClass
4032 {
4033 	/**
4034 	 * The parent class.
4035 	 */
4036 	GObjectClass parentClass;
4037 	/** */
4038 	extern(C) void function(GtkAccelGroup* accelGroup, uint keyval, GdkModifierType modifier, GClosure* accelClosure) accelChanged;
4039 	/** */
4040 	extern(C) void function() GtkReserved1;
4041 	/** */
4042 	extern(C) void function() GtkReserved2;
4043 	/** */
4044 	extern(C) void function() GtkReserved3;
4045 	/** */
4046 	extern(C) void function() GtkReserved4;
4047 }
4048 
4049 struct GtkAccelGroupEntry
4050 {
4051 	GtkAccelKey key;
4052 	GClosure* closure;
4053 	GQuark accelPathQuark;
4054 }
4055 
4056 struct GtkAccelGroupPrivate;
4057 
4058 struct GtkAccelKey
4059 {
4060 	/**
4061 	 * The accelerator keyval
4062 	 */
4063 	uint accelKey;
4064 	/**
4065 	 * The accelerator modifiers
4066 	 */
4067 	GdkModifierType accelMods;
4068 	import std.bitmanip: bitfields;
4069 	mixin(bitfields!(
4070 		uint, "accelFlags", 16,
4071 		uint, "", 16
4072 	));
4073 }
4074 
4075 struct GtkAccelLabel
4076 {
4077 	GtkLabel label;
4078 	GtkAccelLabelPrivate* priv;
4079 }
4080 
4081 struct GtkAccelLabelClass
4082 {
4083 	GtkLabelClass parentClass;
4084 	char* signalQuote1;
4085 	char* signalQuote2;
4086 	char* modNameShift;
4087 	char* modNameControl;
4088 	char* modNameAlt;
4089 	char* modSeparator;
4090 	/** */
4091 	extern(C) void function() GtkReserved1;
4092 	/** */
4093 	extern(C) void function() GtkReserved2;
4094 	/** */
4095 	extern(C) void function() GtkReserved3;
4096 	/** */
4097 	extern(C) void function() GtkReserved4;
4098 }
4099 
4100 struct GtkAccelLabelPrivate;
4101 
4102 struct GtkAccelMap;
4103 
4104 struct GtkAccelMapClass;
4105 
4106 struct GtkAccessible
4107 {
4108 	AtkObject parent;
4109 	GtkAccessiblePrivate* priv;
4110 }
4111 
4112 struct GtkAccessibleClass
4113 {
4114 	AtkObjectClass parentClass;
4115 	/** */
4116 	extern(C) void function(GtkAccessible* accessible) connectWidgetDestroyed;
4117 	/** */
4118 	extern(C) void function(GtkAccessible* accessible) widgetSet;
4119 	/** */
4120 	extern(C) void function(GtkAccessible* accessible) widgetUnset;
4121 	/** */
4122 	extern(C) void function() GtkReserved3;
4123 	/** */
4124 	extern(C) void function() GtkReserved4;
4125 }
4126 
4127 struct GtkAccessiblePrivate;
4128 
4129 struct GtkAction
4130 {
4131 	GObject object;
4132 	GtkActionPrivate* privateData;
4133 }
4134 
4135 struct GtkActionBar
4136 {
4137 	GtkBin bin;
4138 }
4139 
4140 struct GtkActionBarClass
4141 {
4142 	GtkBinClass parentClass;
4143 	/** */
4144 	extern(C) void function() GtkReserved1;
4145 	/** */
4146 	extern(C) void function() GtkReserved2;
4147 	/** */
4148 	extern(C) void function() GtkReserved3;
4149 	/** */
4150 	extern(C) void function() GtkReserved4;
4151 }
4152 
4153 struct GtkActionBarPrivate;
4154 
4155 struct GtkActionClass
4156 {
4157 	/**
4158 	 * The parent class.
4159 	 */
4160 	GObjectClass parentClass;
4161 	/** */
4162 	extern(C) void function(GtkAction* action) activate;
4163 	GType menuItemType;
4164 	GType toolbarItemType;
4165 	/**
4166 	 *
4167 	 * Params:
4168 	 *     action = the action object
4169 	 * Returns: a menu item connected to the action.
4170 	 */
4171 	extern(C) GtkWidget* function(GtkAction* action) createMenuItem;
4172 	/**
4173 	 *
4174 	 * Params:
4175 	 *     action = the action object
4176 	 * Returns: a toolbar item connected to the action.
4177 	 */
4178 	extern(C) GtkWidget* function(GtkAction* action) createToolItem;
4179 	/** */
4180 	extern(C) void function(GtkAction* action, GtkWidget* proxy) connectProxy;
4181 	/** */
4182 	extern(C) void function(GtkAction* action, GtkWidget* proxy) disconnectProxy;
4183 	/**
4184 	 *
4185 	 * Params:
4186 	 *     action = a #GtkAction
4187 	 * Returns: the menu item provided by the
4188 	 *     action, or %NULL.
4189 	 */
4190 	extern(C) GtkWidget* function(GtkAction* action) createMenu;
4191 	/** */
4192 	extern(C) void function() GtkReserved1;
4193 	/** */
4194 	extern(C) void function() GtkReserved2;
4195 	/** */
4196 	extern(C) void function() GtkReserved3;
4197 	/** */
4198 	extern(C) void function() GtkReserved4;
4199 }
4200 
4201 /**
4202  * #GtkActionEntry structs are used with gtk_action_group_add_actions() to
4203  * construct actions.
4204  */
4205 struct GtkActionEntry
4206 {
4207 	/**
4208 	 * The name of the action.
4209 	 */
4210 	const(char)* name;
4211 	/**
4212 	 * The stock id for the action, or the name of an icon from the
4213 	 * icon theme.
4214 	 */
4215 	const(char)* stockId;
4216 	/**
4217 	 * The label for the action. This field should typically be marked
4218 	 * for translation, see gtk_action_group_set_translation_domain(). If
4219 	 * @label is %NULL, the label of the stock item with id @stock_id is used.
4220 	 */
4221 	const(char)* label;
4222 	/**
4223 	 * The accelerator for the action, in the format understood by
4224 	 * gtk_accelerator_parse().
4225 	 */
4226 	const(char)* accelerator;
4227 	/**
4228 	 * The tooltip for the action. This field should typically be
4229 	 * marked for translation, see gtk_action_group_set_translation_domain().
4230 	 */
4231 	const(char)* tooltip;
4232 	/**
4233 	 * The function to call when the action is activated.
4234 	 */
4235 	GCallback callback;
4236 }
4237 
4238 struct GtkActionGroup
4239 {
4240 	GObject parent;
4241 	GtkActionGroupPrivate* priv;
4242 }
4243 
4244 struct GtkActionGroupClass
4245 {
4246 	/**
4247 	 * The parent class.
4248 	 */
4249 	GObjectClass parentClass;
4250 	/**
4251 	 *
4252 	 * Params:
4253 	 *     actionGroup = the action group
4254 	 *     actionName = the name of the action
4255 	 * Returns: the action, or %NULL if no action by that name exists
4256 	 */
4257 	extern(C) GtkAction* function(GtkActionGroup* actionGroup, const(char)* actionName) getAction;
4258 	/** */
4259 	extern(C) void function() GtkReserved1;
4260 	/** */
4261 	extern(C) void function() GtkReserved2;
4262 	/** */
4263 	extern(C) void function() GtkReserved3;
4264 	/** */
4265 	extern(C) void function() GtkReserved4;
4266 }
4267 
4268 struct GtkActionGroupPrivate;
4269 
4270 struct GtkActionPrivate;
4271 
4272 struct GtkActionable;
4273 
4274 /**
4275  * The interface vtable for #GtkActionable.
4276  */
4277 struct GtkActionableInterface
4278 {
4279 	GTypeInterface gIface;
4280 	/**
4281 	 *
4282 	 * Params:
4283 	 *     actionable = a #GtkActionable widget
4284 	 * Returns: the action name, or %NULL if none is set
4285 	 */
4286 	extern(C) const(char)* function(GtkActionable* actionable) getActionName;
4287 	/** */
4288 	extern(C) void function(GtkActionable* actionable, const(char)* actionName) setActionName;
4289 	/**
4290 	 *
4291 	 * Params:
4292 	 *     actionable = a #GtkActionable widget
4293 	 * Returns: the current target value
4294 	 */
4295 	extern(C) GVariant* function(GtkActionable* actionable) getActionTargetValue;
4296 	/** */
4297 	extern(C) void function(GtkActionable* actionable, GVariant* targetValue) setActionTargetValue;
4298 }
4299 
4300 struct GtkActivatable;
4301 
4302 /**
4303  * > This method can be called with a %NULL action at times.
4304  *
4305  * Since: 2.16
4306  */
4307 struct GtkActivatableIface
4308 {
4309 	GTypeInterface gIface;
4310 	/** */
4311 	extern(C) void function(GtkActivatable* activatable, GtkAction* action, const(char)* propertyName) update;
4312 	/** */
4313 	extern(C) void function(GtkActivatable* activatable, GtkAction* action) syncActionProperties;
4314 }
4315 
4316 struct GtkAdjustment
4317 {
4318 	GObject parentInstance;
4319 	GtkAdjustmentPrivate* priv;
4320 }
4321 
4322 struct GtkAdjustmentClass
4323 {
4324 	GObjectClass parentClass;
4325 	/** */
4326 	extern(C) void function(GtkAdjustment* adjustment) changed;
4327 	/** */
4328 	extern(C) void function(GtkAdjustment* adjustment) valueChanged;
4329 	/** */
4330 	extern(C) void function() GtkReserved1;
4331 	/** */
4332 	extern(C) void function() GtkReserved2;
4333 	/** */
4334 	extern(C) void function() GtkReserved3;
4335 	/** */
4336 	extern(C) void function() GtkReserved4;
4337 }
4338 
4339 struct GtkAdjustmentPrivate;
4340 
4341 struct GtkAlignment
4342 {
4343 	GtkBin bin;
4344 	GtkAlignmentPrivate* priv;
4345 }
4346 
4347 struct GtkAlignmentClass
4348 {
4349 	/**
4350 	 * The parent class.
4351 	 */
4352 	GtkBinClass parentClass;
4353 	/** */
4354 	extern(C) void function() GtkReserved1;
4355 	/** */
4356 	extern(C) void function() GtkReserved2;
4357 	/** */
4358 	extern(C) void function() GtkReserved3;
4359 	/** */
4360 	extern(C) void function() GtkReserved4;
4361 }
4362 
4363 struct GtkAlignmentPrivate;
4364 
4365 struct GtkAppChooser;
4366 
4367 struct GtkAppChooserButton
4368 {
4369 	GtkComboBox parent;
4370 	GtkAppChooserButtonPrivate* priv;
4371 }
4372 
4373 struct GtkAppChooserButtonClass
4374 {
4375 	/**
4376 	 * The parent class.
4377 	 */
4378 	GtkComboBoxClass parentClass;
4379 	/** */
4380 	extern(C) void function(GtkAppChooserButton* self, const(char)* itemName) customItemActivated;
4381 	void*[16] padding;
4382 }
4383 
4384 struct GtkAppChooserButtonPrivate;
4385 
4386 struct GtkAppChooserDialog
4387 {
4388 	GtkDialog parent;
4389 	GtkAppChooserDialogPrivate* priv;
4390 }
4391 
4392 struct GtkAppChooserDialogClass
4393 {
4394 	/**
4395 	 * The parent class.
4396 	 */
4397 	GtkDialogClass parentClass;
4398 	void*[16] padding;
4399 }
4400 
4401 struct GtkAppChooserDialogPrivate;
4402 
4403 struct GtkAppChooserWidget
4404 {
4405 	GtkBox parent;
4406 	GtkAppChooserWidgetPrivate* priv;
4407 }
4408 
4409 struct GtkAppChooserWidgetClass
4410 {
4411 	/**
4412 	 * The parent class.
4413 	 */
4414 	GtkBoxClass parentClass;
4415 	/** */
4416 	extern(C) void function(GtkAppChooserWidget* self, GAppInfo* appInfo) applicationSelected;
4417 	/** */
4418 	extern(C) void function(GtkAppChooserWidget* self, GAppInfo* appInfo) applicationActivated;
4419 	/** */
4420 	extern(C) void function(GtkAppChooserWidget* self, GtkMenu* menu, GAppInfo* appInfo) populatePopup;
4421 	void*[16] padding;
4422 }
4423 
4424 struct GtkAppChooserWidgetPrivate;
4425 
4426 struct GtkApplication
4427 {
4428 	GApplication parent;
4429 	GtkApplicationPrivate* priv;
4430 }
4431 
4432 struct GtkApplicationClass
4433 {
4434 	/**
4435 	 * The parent class.
4436 	 */
4437 	GApplicationClass parentClass;
4438 	/** */
4439 	extern(C) void function(GtkApplication* application, GtkWindow* window) windowAdded;
4440 	/** */
4441 	extern(C) void function(GtkApplication* application, GtkWindow* window) windowRemoved;
4442 	void*[12] padding;
4443 }
4444 
4445 struct GtkApplicationPrivate;
4446 
4447 struct GtkApplicationWindow
4448 {
4449 	GtkWindow parentInstance;
4450 	GtkApplicationWindowPrivate* priv;
4451 }
4452 
4453 struct GtkApplicationWindowClass
4454 {
4455 	/**
4456 	 * The parent class.
4457 	 */
4458 	GtkWindowClass parentClass;
4459 	void*[14] padding;
4460 }
4461 
4462 struct GtkApplicationWindowPrivate;
4463 
4464 struct GtkArrow
4465 {
4466 	GtkMisc misc;
4467 	GtkArrowPrivate* priv;
4468 }
4469 
4470 struct GtkArrowAccessible
4471 {
4472 	GtkWidgetAccessible parent;
4473 	GtkArrowAccessiblePrivate* priv;
4474 }
4475 
4476 struct GtkArrowAccessibleClass
4477 {
4478 	GtkWidgetAccessibleClass parentClass;
4479 }
4480 
4481 struct GtkArrowAccessiblePrivate;
4482 
4483 struct GtkArrowClass
4484 {
4485 	GtkMiscClass parentClass;
4486 	/** */
4487 	extern(C) void function() GtkReserved1;
4488 	/** */
4489 	extern(C) void function() GtkReserved2;
4490 	/** */
4491 	extern(C) void function() GtkReserved3;
4492 	/** */
4493 	extern(C) void function() GtkReserved4;
4494 }
4495 
4496 struct GtkArrowPrivate;
4497 
4498 struct GtkAspectFrame
4499 {
4500 	GtkFrame frame;
4501 	GtkAspectFramePrivate* priv;
4502 }
4503 
4504 struct GtkAspectFrameClass
4505 {
4506 	/**
4507 	 * The parent class.
4508 	 */
4509 	GtkFrameClass parentClass;
4510 	/** */
4511 	extern(C) void function() GtkReserved1;
4512 	/** */
4513 	extern(C) void function() GtkReserved2;
4514 	/** */
4515 	extern(C) void function() GtkReserved3;
4516 	/** */
4517 	extern(C) void function() GtkReserved4;
4518 }
4519 
4520 struct GtkAspectFramePrivate;
4521 
4522 struct GtkAssistant
4523 {
4524 	GtkWindow parent;
4525 	GtkAssistantPrivate* priv;
4526 }
4527 
4528 struct GtkAssistantClass
4529 {
4530 	/**
4531 	 * The parent class.
4532 	 */
4533 	GtkWindowClass parentClass;
4534 	/** */
4535 	extern(C) void function(GtkAssistant* assistant, GtkWidget* page) prepare;
4536 	/** */
4537 	extern(C) void function(GtkAssistant* assistant) apply;
4538 	/** */
4539 	extern(C) void function(GtkAssistant* assistant) close;
4540 	/** */
4541 	extern(C) void function(GtkAssistant* assistant) cancel;
4542 	/** */
4543 	extern(C) void function() GtkReserved1;
4544 	/** */
4545 	extern(C) void function() GtkReserved2;
4546 	/** */
4547 	extern(C) void function() GtkReserved3;
4548 	/** */
4549 	extern(C) void function() GtkReserved4;
4550 	/** */
4551 	extern(C) void function() GtkReserved5;
4552 }
4553 
4554 struct GtkAssistantPrivate;
4555 
4556 struct GtkBin
4557 {
4558 	GtkContainer container;
4559 	GtkBinPrivate* priv;
4560 }
4561 
4562 struct GtkBinClass
4563 {
4564 	/**
4565 	 * The parent class.
4566 	 */
4567 	GtkContainerClass parentClass;
4568 	/** */
4569 	extern(C) void function() GtkReserved1;
4570 	/** */
4571 	extern(C) void function() GtkReserved2;
4572 	/** */
4573 	extern(C) void function() GtkReserved3;
4574 	/** */
4575 	extern(C) void function() GtkReserved4;
4576 }
4577 
4578 struct GtkBinPrivate;
4579 
4580 /**
4581  * A #GtkBindingArg holds the data associated with
4582  * an argument for a key binding signal emission as
4583  * stored in #GtkBindingSignal.
4584  */
4585 struct GtkBindingArg
4586 {
4587 	/**
4588 	 * implementation detail
4589 	 */
4590 	GType argType;
4591 	union D
4592 	{
4593 		glong longData;
4594 		double doubleData;
4595 		char* stringData;
4596 	}
4597 	D d;
4598 }
4599 
4600 /**
4601  * Each key binding element of a binding sets binding list is
4602  * represented by a GtkBindingEntry.
4603  */
4604 struct GtkBindingEntry
4605 {
4606 	/**
4607 	 * key value to match
4608 	 */
4609 	uint keyval;
4610 	/**
4611 	 * key modifiers to match
4612 	 */
4613 	GdkModifierType modifiers;
4614 	/**
4615 	 * binding set this entry belongs to
4616 	 */
4617 	GtkBindingSet* bindingSet;
4618 	import std.bitmanip: bitfields;
4619 	mixin(bitfields!(
4620 		uint, "destroyed", 1,
4621 		uint, "inEmission", 1,
4622 		uint, "marksUnbound", 1,
4623 		uint, "", 29
4624 	));
4625 	/**
4626 	 * linked list of entries maintained by binding set
4627 	 */
4628 	GtkBindingEntry* setNext;
4629 	/**
4630 	 * implementation detail
4631 	 */
4632 	GtkBindingEntry* hashNext;
4633 	/**
4634 	 * action signals of this entry
4635 	 */
4636 	GtkBindingSignal* signals;
4637 }
4638 
4639 struct GtkBindingSet
4640 {
4641 	/**
4642 	 * unique name of this binding set
4643 	 */
4644 	char* setName;
4645 	/**
4646 	 * unused
4647 	 */
4648 	int priority;
4649 	/**
4650 	 * unused
4651 	 */
4652 	GSList* widgetPathPspecs;
4653 	/**
4654 	 * unused
4655 	 */
4656 	GSList* widgetClassPspecs;
4657 	/**
4658 	 * unused
4659 	 */
4660 	GSList* classBranchPspecs;
4661 	/**
4662 	 * the key binding entries in this binding set
4663 	 */
4664 	GtkBindingEntry* entries;
4665 	/**
4666 	 * implementation detail
4667 	 */
4668 	GtkBindingEntry* current;
4669 	import std.bitmanip: bitfields;
4670 	mixin(bitfields!(
4671 		uint, "parsed", 1,
4672 		uint, "", 31
4673 	));
4674 }
4675 
4676 /**
4677  * A GtkBindingSignal stores the necessary information to
4678  * activate a widget in response to a key press via a signal
4679  * emission.
4680  */
4681 struct GtkBindingSignal
4682 {
4683 	/**
4684 	 * implementation detail
4685 	 */
4686 	GtkBindingSignal* next;
4687 	/**
4688 	 * the action signal to be emitted
4689 	 */
4690 	char* signalName;
4691 	/**
4692 	 * number of arguments specified for the signal
4693 	 */
4694 	uint nArgs;
4695 	/**
4696 	 * the arguments specified for the signal
4697 	 */
4698 	GtkBindingArg* args;
4699 }
4700 
4701 struct GtkBooleanCellAccessible
4702 {
4703 	GtkRendererCellAccessible parent;
4704 	GtkBooleanCellAccessiblePrivate* priv;
4705 }
4706 
4707 struct GtkBooleanCellAccessibleClass
4708 {
4709 	GtkRendererCellAccessibleClass parentClass;
4710 }
4711 
4712 struct GtkBooleanCellAccessiblePrivate;
4713 
4714 struct GtkBorder
4715 {
4716 	/**
4717 	 * The width of the left border
4718 	 */
4719 	short left;
4720 	/**
4721 	 * The width of the right border
4722 	 */
4723 	short right;
4724 	/**
4725 	 * The width of the top border
4726 	 */
4727 	short top;
4728 	/**
4729 	 * The width of the bottom border
4730 	 */
4731 	short bottom;
4732 }
4733 
4734 struct GtkBox
4735 {
4736 	GtkContainer container;
4737 	GtkBoxPrivate* priv;
4738 }
4739 
4740 struct GtkBoxClass
4741 {
4742 	/**
4743 	 * The parent class.
4744 	 */
4745 	GtkContainerClass parentClass;
4746 	/** */
4747 	extern(C) void function() GtkReserved1;
4748 	/** */
4749 	extern(C) void function() GtkReserved2;
4750 	/** */
4751 	extern(C) void function() GtkReserved3;
4752 	/** */
4753 	extern(C) void function() GtkReserved4;
4754 }
4755 
4756 struct GtkBoxPrivate;
4757 
4758 struct GtkBuildable;
4759 
4760 /**
4761  * The #GtkBuildableIface interface contains method that are
4762  * necessary to allow #GtkBuilder to construct an object from
4763  * a #GtkBuilder UI definition.
4764  */
4765 struct GtkBuildableIface
4766 {
4767 	/**
4768 	 * the parent class
4769 	 */
4770 	GTypeInterface gIface;
4771 	/** */
4772 	extern(C) void function(GtkBuildable* buildable, const(char)* name) setName;
4773 	/**
4774 	 *
4775 	 * Params:
4776 	 *     buildable = a #GtkBuildable
4777 	 * Returns: the name set with gtk_buildable_set_name()
4778 	 */
4779 	extern(C) const(char)* function(GtkBuildable* buildable) getName;
4780 	/** */
4781 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* type) addChild;
4782 	/** */
4783 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name, GValue* value) setBuildableProperty;
4784 	/**
4785 	 *
4786 	 * Params:
4787 	 *     buildable = A #GtkBuildable
4788 	 *     builder = #GtkBuilder used to construct this object
4789 	 *     name = name of child to construct
4790 	 * Returns: the constructed child
4791 	 */
4792 	extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name) constructChild;
4793 	/**
4794 	 *
4795 	 * Params:
4796 	 *     buildable = a #GtkBuildable
4797 	 *     builder = a #GtkBuilder used to construct this object
4798 	 *     child = child object or %NULL for non-child tags
4799 	 *     tagname = name of tag
4800 	 *     parser = a #GMarkupParser to fill in
4801 	 *     data = return location for user data that will be passed in
4802 	 *         to parser functions
4803 	 * Returns: %TRUE if a object has a custom implementation, %FALSE
4804 	 *     if it doesn't.
4805 	 */
4806 	extern(C) int function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, GMarkupParser* parser, void** data) customTagStart;
4807 	/** */
4808 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void** data) customTagEnd;
4809 	/** */
4810 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void* data) customFinished;
4811 	/** */
4812 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder) parserFinished;
4813 	/**
4814 	 *
4815 	 * Params:
4816 	 *     buildable = a #GtkBuildable
4817 	 *     builder = a #GtkBuilder
4818 	 *     childname = name of child
4819 	 * Returns: the internal child of the buildable object
4820 	 */
4821 	extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* childname) getInternalChild;
4822 }
4823 
4824 struct GtkBuilder
4825 {
4826 	GObject parentInstance;
4827 	GtkBuilderPrivate* priv;
4828 }
4829 
4830 struct GtkBuilderClass
4831 {
4832 	GObjectClass parentClass;
4833 	/**
4834 	 *
4835 	 * Params:
4836 	 *     builder = a #GtkBuilder
4837 	 *     typeName = type name to lookup
4838 	 * Returns: the #GType found for @type_name or #G_TYPE_INVALID
4839 	 *     if no type was found
4840 	 */
4841 	extern(C) GType function(GtkBuilder* builder, const(char)* typeName) getTypeFromName;
4842 	/** */
4843 	extern(C) void function() GtkReserved1;
4844 	/** */
4845 	extern(C) void function() GtkReserved2;
4846 	/** */
4847 	extern(C) void function() GtkReserved3;
4848 	/** */
4849 	extern(C) void function() GtkReserved4;
4850 	/** */
4851 	extern(C) void function() GtkReserved5;
4852 	/** */
4853 	extern(C) void function() GtkReserved6;
4854 	/** */
4855 	extern(C) void function() GtkReserved7;
4856 	/** */
4857 	extern(C) void function() GtkReserved8;
4858 }
4859 
4860 struct GtkBuilderPrivate;
4861 
4862 struct GtkButton
4863 {
4864 	GtkBin bin;
4865 	GtkButtonPrivate* priv;
4866 }
4867 
4868 struct GtkButtonAccessible
4869 {
4870 	GtkContainerAccessible parent;
4871 	GtkButtonAccessiblePrivate* priv;
4872 }
4873 
4874 struct GtkButtonAccessibleClass
4875 {
4876 	GtkContainerAccessibleClass parentClass;
4877 }
4878 
4879 struct GtkButtonAccessiblePrivate;
4880 
4881 struct GtkButtonBox
4882 {
4883 	GtkBox box;
4884 	GtkButtonBoxPrivate* priv;
4885 }
4886 
4887 struct GtkButtonBoxClass
4888 {
4889 	/**
4890 	 * The parent class.
4891 	 */
4892 	GtkBoxClass parentClass;
4893 	/** */
4894 	extern(C) void function() GtkReserved1;
4895 	/** */
4896 	extern(C) void function() GtkReserved2;
4897 	/** */
4898 	extern(C) void function() GtkReserved3;
4899 	/** */
4900 	extern(C) void function() GtkReserved4;
4901 }
4902 
4903 struct GtkButtonBoxPrivate;
4904 
4905 struct GtkButtonClass
4906 {
4907 	/**
4908 	 * The parent class.
4909 	 */
4910 	GtkBinClass parentClass;
4911 	/** */
4912 	extern(C) void function(GtkButton* button) pressed;
4913 	/** */
4914 	extern(C) void function(GtkButton* button) released;
4915 	/** */
4916 	extern(C) void function(GtkButton* button) clicked;
4917 	/** */
4918 	extern(C) void function(GtkButton* button) enter;
4919 	/** */
4920 	extern(C) void function(GtkButton* button) leave;
4921 	/** */
4922 	extern(C) void function(GtkButton* button) activate;
4923 	/** */
4924 	extern(C) void function() GtkReserved1;
4925 	/** */
4926 	extern(C) void function() GtkReserved2;
4927 	/** */
4928 	extern(C) void function() GtkReserved3;
4929 	/** */
4930 	extern(C) void function() GtkReserved4;
4931 }
4932 
4933 struct GtkButtonPrivate;
4934 
4935 struct GtkCalendar
4936 {
4937 	GtkWidget widget;
4938 	GtkCalendarPrivate* priv;
4939 }
4940 
4941 struct GtkCalendarClass
4942 {
4943 	GtkWidgetClass parentClass;
4944 	/** */
4945 	extern(C) void function(GtkCalendar* calendar) monthChanged;
4946 	/** */
4947 	extern(C) void function(GtkCalendar* calendar) daySelected;
4948 	/** */
4949 	extern(C) void function(GtkCalendar* calendar) daySelectedDoubleClick;
4950 	/** */
4951 	extern(C) void function(GtkCalendar* calendar) prevMonth;
4952 	/** */
4953 	extern(C) void function(GtkCalendar* calendar) nextMonth;
4954 	/** */
4955 	extern(C) void function(GtkCalendar* calendar) prevYear;
4956 	/** */
4957 	extern(C) void function(GtkCalendar* calendar) nextYear;
4958 	/** */
4959 	extern(C) void function() GtkReserved1;
4960 	/** */
4961 	extern(C) void function() GtkReserved2;
4962 	/** */
4963 	extern(C) void function() GtkReserved3;
4964 	/** */
4965 	extern(C) void function() GtkReserved4;
4966 }
4967 
4968 struct GtkCalendarPrivate;
4969 
4970 struct GtkCellAccessible
4971 {
4972 	GtkAccessible parent;
4973 	GtkCellAccessiblePrivate* priv;
4974 }
4975 
4976 struct GtkCellAccessibleClass
4977 {
4978 	GtkAccessibleClass parentClass;
4979 	/** */
4980 	extern(C) void function(GtkCellAccessible* cell, int emitSignal) updateCache;
4981 }
4982 
4983 struct GtkCellAccessibleParent;
4984 
4985 struct GtkCellAccessibleParentIface
4986 {
4987 	GTypeInterface parent;
4988 	/** */
4989 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, int* x, int* y, int* width, int* height, AtkCoordType coordType) getCellExtents;
4990 	/** */
4991 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, GdkRectangle* cellRect) getCellArea;
4992 	/** */
4993 	extern(C) int function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) grabFocus;
4994 	/** */
4995 	extern(C) int function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getChildIndex;
4996 	/** */
4997 	extern(C) GtkCellRendererState function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getRendererState;
4998 	/** */
4999 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) expandCollapse;
5000 	/** */
5001 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) activate;
5002 	/** */
5003 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) edit;
5004 	/** */
5005 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, AtkRelationSet* relationset) updateRelationset;
5006 	/** */
5007 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, int* row, int* column) getCellPosition;
5008 	/** */
5009 	extern(C) GPtrArray* function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getColumnHeaderCells;
5010 	/** */
5011 	extern(C) GPtrArray* function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getRowHeaderCells;
5012 }
5013 
5014 struct GtkCellAccessiblePrivate;
5015 
5016 struct GtkCellArea
5017 {
5018 	GObject parentInstance;
5019 	GtkCellAreaPrivate* priv;
5020 }
5021 
5022 struct GtkCellAreaBox
5023 {
5024 	GtkCellArea parentInstance;
5025 	GtkCellAreaBoxPrivate* priv;
5026 }
5027 
5028 struct GtkCellAreaBoxClass
5029 {
5030 	GtkCellAreaClass parentClass;
5031 	/** */
5032 	extern(C) void function() GtkReserved1;
5033 	/** */
5034 	extern(C) void function() GtkReserved2;
5035 	/** */
5036 	extern(C) void function() GtkReserved3;
5037 	/** */
5038 	extern(C) void function() GtkReserved4;
5039 }
5040 
5041 struct GtkCellAreaBoxPrivate;
5042 
5043 struct GtkCellAreaClass
5044 {
5045 	GObjectClass parentClass;
5046 	/** */
5047 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) add;
5048 	/** */
5049 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) remove;
5050 	/** */
5051 	extern(C) void function(GtkCellArea* area, GtkCellCallback callback, void* callbackData) foreach_;
5052 	/** */
5053 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GdkRectangle* backgroundArea, GtkCellAllocCallback callback, void* callbackData) foreachAlloc;
5054 	/**
5055 	 *
5056 	 * Params:
5057 	 *     area = a #GtkCellArea
5058 	 *     context = the #GtkCellAreaContext for this row of data.
5059 	 *     widget = the #GtkWidget that @area is rendering to
5060 	 *     event = the #GdkEvent to handle
5061 	 *     cellArea = the @widget relative coordinates for @area
5062 	 *     flags = the #GtkCellRendererState for @area in this row.
5063 	 * Returns: %TRUE if the event was handled by @area.
5064 	 */
5065 	extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkEvent* event, GdkRectangle* cellArea, GtkCellRendererState flags) event;
5066 	/** */
5067 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, cairo_t* cr, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags, int paintFocus) render;
5068 	/** */
5069 	extern(C) void function(GtkCellArea* area, GtkTreeModel* treeModel, GtkTreeIter* iter, int isExpander, int isExpanded) applyAttributes;
5070 	/**
5071 	 *
5072 	 * Params:
5073 	 *     area = a #GtkCellArea
5074 	 * Returns: a newly created #GtkCellAreaContext which can be used with @area.
5075 	 */
5076 	extern(C) GtkCellAreaContext* function(GtkCellArea* area) createContext;
5077 	/**
5078 	 *
5079 	 * Params:
5080 	 *     area = a #GtkCellArea
5081 	 *     context = the #GtkCellAreaContext to copy
5082 	 * Returns: a newly created #GtkCellAreaContext copy of @context.
5083 	 */
5084 	extern(C) GtkCellAreaContext* function(GtkCellArea* area, GtkCellAreaContext* context) copyContext;
5085 	/**
5086 	 *
5087 	 * Params:
5088 	 *     area = a #GtkCellArea
5089 	 * Returns: The #GtkSizeRequestMode preferred by @area.
5090 	 */
5091 	extern(C) GtkSizeRequestMode function(GtkCellArea* area) getRequestMode;
5092 	/** */
5093 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth;
5094 	/** */
5095 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5096 	/** */
5097 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight;
5098 	/** */
5099 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5100 	/** */
5101 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) setCellProperty;
5102 	/** */
5103 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) getCellProperty;
5104 	/**
5105 	 *
5106 	 * Params:
5107 	 *     area = a #GtkCellArea
5108 	 *     direction = the #GtkDirectionType
5109 	 * Returns: %TRUE if focus remains inside @area as a result of this call.
5110 	 */
5111 	extern(C) int function(GtkCellArea* area, GtkDirectionType direction) focus;
5112 	/**
5113 	 *
5114 	 * Params:
5115 	 *     area = a #GtkCellArea
5116 	 * Returns: whether @area can do anything when activated.
5117 	 */
5118 	extern(C) int function(GtkCellArea* area) isActivatable;
5119 	/**
5120 	 *
5121 	 * Params:
5122 	 *     area = a #GtkCellArea
5123 	 *     context = the #GtkCellAreaContext in context with the current row data
5124 	 *     widget = the #GtkWidget that @area is rendering on
5125 	 *     cellArea = the size and location of @area relative to @widget’s allocation
5126 	 *     flags = the #GtkCellRendererState flags for @area for this row of data.
5127 	 *     editOnly = if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE
5128 	 *         will be activated.
5129 	 * Returns: Whether @area was successfully activated.
5130 	 */
5131 	extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GtkCellRendererState flags, int editOnly) activate;
5132 	/** */
5133 	extern(C) void function() GtkReserved1;
5134 	/** */
5135 	extern(C) void function() GtkReserved2;
5136 	/** */
5137 	extern(C) void function() GtkReserved3;
5138 	/** */
5139 	extern(C) void function() GtkReserved4;
5140 	/** */
5141 	extern(C) void function() GtkReserved5;
5142 	/** */
5143 	extern(C) void function() GtkReserved6;
5144 	/** */
5145 	extern(C) void function() GtkReserved7;
5146 	/** */
5147 	extern(C) void function() GtkReserved8;
5148 }
5149 
5150 struct GtkCellAreaContext
5151 {
5152 	GObject parentInstance;
5153 	GtkCellAreaContextPrivate* priv;
5154 }
5155 
5156 struct GtkCellAreaContextClass
5157 {
5158 	GObjectClass parentClass;
5159 	/** */
5160 	extern(C) void function(GtkCellAreaContext* context, int width, int height) allocate;
5161 	/** */
5162 	extern(C) void function(GtkCellAreaContext* context) reset;
5163 	/** */
5164 	extern(C) void function(GtkCellAreaContext* context, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5165 	/** */
5166 	extern(C) void function(GtkCellAreaContext* context, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5167 	/** */
5168 	extern(C) void function() GtkReserved1;
5169 	/** */
5170 	extern(C) void function() GtkReserved2;
5171 	/** */
5172 	extern(C) void function() GtkReserved3;
5173 	/** */
5174 	extern(C) void function() GtkReserved4;
5175 	/** */
5176 	extern(C) void function() GtkReserved5;
5177 	/** */
5178 	extern(C) void function() GtkReserved6;
5179 }
5180 
5181 struct GtkCellAreaContextPrivate;
5182 
5183 struct GtkCellAreaPrivate;
5184 
5185 struct GtkCellEditable;
5186 
5187 struct GtkCellEditableIface
5188 {
5189 	GTypeInterface gIface;
5190 	/** */
5191 	extern(C) void function(GtkCellEditable* cellEditable) editingDone;
5192 	/** */
5193 	extern(C) void function(GtkCellEditable* cellEditable) removeWidget;
5194 	/** */
5195 	extern(C) void function(GtkCellEditable* cellEditable, GdkEvent* event) startEditing;
5196 }
5197 
5198 struct GtkCellLayout;
5199 
5200 struct GtkCellLayoutIface
5201 {
5202 	GTypeInterface gIface;
5203 	/** */
5204 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packStart;
5205 	/** */
5206 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packEnd;
5207 	/** */
5208 	extern(C) void function(GtkCellLayout* cellLayout) clear;
5209 	/** */
5210 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, const(char)* attribute, int column) addAttribute;
5211 	/** */
5212 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkCellLayoutDataFunc func, void* funcData, GDestroyNotify destroy) setCellDataFunc;
5213 	/** */
5214 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell) clearAttributes;
5215 	/** */
5216 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int position) reorder;
5217 	/**
5218 	 *
5219 	 * Params:
5220 	 *     cellLayout = a #GtkCellLayout
5221 	 * Returns: a list of cell renderers. The list, but not the renderers has
5222 	 *     been newly allocated and should be freed with g_list_free()
5223 	 *     when no longer needed.
5224 	 */
5225 	extern(C) GList* function(GtkCellLayout* cellLayout) getCells;
5226 	/**
5227 	 *
5228 	 * Params:
5229 	 *     cellLayout = a #GtkCellLayout
5230 	 * Returns: the cell area used by @cell_layout,
5231 	 *     or %NULL in case no cell area is used.
5232 	 */
5233 	extern(C) GtkCellArea* function(GtkCellLayout* cellLayout) getArea;
5234 }
5235 
5236 struct GtkCellRenderer
5237 {
5238 	GObject parentInstance;
5239 	GtkCellRendererPrivate* priv;
5240 }
5241 
5242 struct GtkCellRendererAccel
5243 {
5244 	GtkCellRendererText parent;
5245 	GtkCellRendererAccelPrivate* priv;
5246 }
5247 
5248 struct GtkCellRendererAccelClass
5249 {
5250 	GtkCellRendererTextClass parentClass;
5251 	/** */
5252 	extern(C) void function(GtkCellRendererAccel* accel, const(char)* pathString, uint accelKey, GdkModifierType accelMods, uint hardwareKeycode) accelEdited;
5253 	/** */
5254 	extern(C) void function(GtkCellRendererAccel* accel, const(char)* pathString) accelCleared;
5255 	/** */
5256 	extern(C) void function() GtkReserved0;
5257 	/** */
5258 	extern(C) void function() GtkReserved1;
5259 	/** */
5260 	extern(C) void function() GtkReserved2;
5261 	/** */
5262 	extern(C) void function() GtkReserved3;
5263 	/** */
5264 	extern(C) void function() GtkReserved4;
5265 }
5266 
5267 struct GtkCellRendererAccelPrivate;
5268 
5269 struct GtkCellRendererClass
5270 {
5271 	GObjectClass parentClass;
5272 	/**
5273 	 *
5274 	 * Params:
5275 	 *     cell = a #GtkCellRenderer    instance
5276 	 * Returns: The #GtkSizeRequestMode preferred by this renderer.
5277 	 */
5278 	extern(C) GtkSizeRequestMode function(GtkCellRenderer* cell) getRequestMode;
5279 	/** */
5280 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredWidth;
5281 	/** */
5282 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5283 	/** */
5284 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredHeight;
5285 	/** */
5286 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5287 	/** */
5288 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, GtkCellRendererState flags, GdkRectangle* cellArea, GdkRectangle* alignedArea) getAlignedArea;
5289 	/** */
5290 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, GdkRectangle* cellArea, int* xOffset, int* yOffset, int* width, int* height) getSize;
5291 	/** */
5292 	extern(C) void function(GtkCellRenderer* cell, cairo_t* cr, GtkWidget* widget, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) render;
5293 	/**
5294 	 *
5295 	 * Params:
5296 	 *     cell = a #GtkCellRenderer
5297 	 *     event = a #GdkEvent
5298 	 *     widget = widget that received the event
5299 	 *     path = widget-dependent string representation of the event location;
5300 	 *         e.g. for #GtkTreeView, a string representation of #GtkTreePath
5301 	 *     backgroundArea = background area as passed to gtk_cell_renderer_render()
5302 	 *     cellArea = cell area as passed to gtk_cell_renderer_render()
5303 	 *     flags = render flags
5304 	 * Returns: %TRUE if the event was consumed/handled
5305 	 */
5306 	extern(C) int function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) activate;
5307 	/**
5308 	 *
5309 	 * Params:
5310 	 *     cell = a #GtkCellRenderer
5311 	 *     event = a #GdkEvent
5312 	 *     widget = widget that received the event
5313 	 *     path = widget-dependent string representation of the event location;
5314 	 *         e.g. for #GtkTreeView, a string representation of #GtkTreePath
5315 	 *     backgroundArea = background area as passed to gtk_cell_renderer_render()
5316 	 *     cellArea = cell area as passed to gtk_cell_renderer_render()
5317 	 *     flags = render flags
5318 	 * Returns: A new #GtkCellEditable for editing this
5319 	 *     @cell, or %NULL if editing is not possible
5320 	 */
5321 	extern(C) GtkCellEditable* function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) startEditing;
5322 	/** */
5323 	extern(C) void function(GtkCellRenderer* cell) editingCanceled;
5324 	/** */
5325 	extern(C) void function(GtkCellRenderer* cell, GtkCellEditable* editable, const(char)* path) editingStarted;
5326 	GtkCellRendererClassPrivate* priv;
5327 	/** */
5328 	extern(C) void function() GtkReserved2;
5329 	/** */
5330 	extern(C) void function() GtkReserved3;
5331 	/** */
5332 	extern(C) void function() GtkReserved4;
5333 }
5334 
5335 struct GtkCellRendererClassPrivate;
5336 
5337 struct GtkCellRendererCombo
5338 {
5339 	GtkCellRendererText parent;
5340 	GtkCellRendererComboPrivate* priv;
5341 }
5342 
5343 struct GtkCellRendererComboClass
5344 {
5345 	GtkCellRendererTextClass parent;
5346 	/** */
5347 	extern(C) void function() GtkReserved1;
5348 	/** */
5349 	extern(C) void function() GtkReserved2;
5350 	/** */
5351 	extern(C) void function() GtkReserved3;
5352 	/** */
5353 	extern(C) void function() GtkReserved4;
5354 }
5355 
5356 struct GtkCellRendererComboPrivate;
5357 
5358 struct GtkCellRendererPixbuf
5359 {
5360 	GtkCellRenderer parent;
5361 	GtkCellRendererPixbufPrivate* priv;
5362 }
5363 
5364 struct GtkCellRendererPixbufClass
5365 {
5366 	GtkCellRendererClass parentClass;
5367 	/** */
5368 	extern(C) void function() GtkReserved1;
5369 	/** */
5370 	extern(C) void function() GtkReserved2;
5371 	/** */
5372 	extern(C) void function() GtkReserved3;
5373 	/** */
5374 	extern(C) void function() GtkReserved4;
5375 }
5376 
5377 struct GtkCellRendererPixbufPrivate;
5378 
5379 struct GtkCellRendererPrivate;
5380 
5381 struct GtkCellRendererProgress
5382 {
5383 	GtkCellRenderer parentInstance;
5384 	GtkCellRendererProgressPrivate* priv;
5385 }
5386 
5387 struct GtkCellRendererProgressClass
5388 {
5389 	GtkCellRendererClass parentClass;
5390 	/** */
5391 	extern(C) void function() GtkReserved1;
5392 	/** */
5393 	extern(C) void function() GtkReserved2;
5394 	/** */
5395 	extern(C) void function() GtkReserved3;
5396 	/** */
5397 	extern(C) void function() GtkReserved4;
5398 }
5399 
5400 struct GtkCellRendererProgressPrivate;
5401 
5402 struct GtkCellRendererSpin
5403 {
5404 	GtkCellRendererText parent;
5405 	GtkCellRendererSpinPrivate* priv;
5406 }
5407 
5408 struct GtkCellRendererSpinClass
5409 {
5410 	GtkCellRendererTextClass parent;
5411 	/** */
5412 	extern(C) void function() GtkReserved1;
5413 	/** */
5414 	extern(C) void function() GtkReserved2;
5415 	/** */
5416 	extern(C) void function() GtkReserved3;
5417 	/** */
5418 	extern(C) void function() GtkReserved4;
5419 }
5420 
5421 struct GtkCellRendererSpinPrivate;
5422 
5423 struct GtkCellRendererSpinner
5424 {
5425 	GtkCellRenderer parent;
5426 	GtkCellRendererSpinnerPrivate* priv;
5427 }
5428 
5429 struct GtkCellRendererSpinnerClass
5430 {
5431 	GtkCellRendererClass parentClass;
5432 	/** */
5433 	extern(C) void function() GtkReserved1;
5434 	/** */
5435 	extern(C) void function() GtkReserved2;
5436 	/** */
5437 	extern(C) void function() GtkReserved3;
5438 	/** */
5439 	extern(C) void function() GtkReserved4;
5440 }
5441 
5442 struct GtkCellRendererSpinnerPrivate;
5443 
5444 struct GtkCellRendererText
5445 {
5446 	GtkCellRenderer parent;
5447 	GtkCellRendererTextPrivate* priv;
5448 }
5449 
5450 struct GtkCellRendererTextClass
5451 {
5452 	GtkCellRendererClass parentClass;
5453 	/** */
5454 	extern(C) void function(GtkCellRendererText* cellRendererText, const(char)* path, const(char)* newText) edited;
5455 	/** */
5456 	extern(C) void function() GtkReserved1;
5457 	/** */
5458 	extern(C) void function() GtkReserved2;
5459 	/** */
5460 	extern(C) void function() GtkReserved3;
5461 	/** */
5462 	extern(C) void function() GtkReserved4;
5463 }
5464 
5465 struct GtkCellRendererTextPrivate;
5466 
5467 struct GtkCellRendererToggle
5468 {
5469 	GtkCellRenderer parent;
5470 	GtkCellRendererTogglePrivate* priv;
5471 }
5472 
5473 struct GtkCellRendererToggleClass
5474 {
5475 	GtkCellRendererClass parentClass;
5476 	/** */
5477 	extern(C) void function(GtkCellRendererToggle* cellRendererToggle, const(char)* path) toggled;
5478 	/** */
5479 	extern(C) void function() GtkReserved1;
5480 	/** */
5481 	extern(C) void function() GtkReserved2;
5482 	/** */
5483 	extern(C) void function() GtkReserved3;
5484 	/** */
5485 	extern(C) void function() GtkReserved4;
5486 }
5487 
5488 struct GtkCellRendererTogglePrivate;
5489 
5490 struct GtkCellView
5491 {
5492 	GtkWidget parentInstance;
5493 	GtkCellViewPrivate* priv;
5494 }
5495 
5496 struct GtkCellViewClass
5497 {
5498 	/**
5499 	 * The parent class.
5500 	 */
5501 	GtkWidgetClass parentClass;
5502 	/** */
5503 	extern(C) void function() GtkReserved1;
5504 	/** */
5505 	extern(C) void function() GtkReserved2;
5506 	/** */
5507 	extern(C) void function() GtkReserved3;
5508 	/** */
5509 	extern(C) void function() GtkReserved4;
5510 }
5511 
5512 struct GtkCellViewPrivate;
5513 
5514 struct GtkCheckButton
5515 {
5516 	GtkToggleButton toggleButton;
5517 }
5518 
5519 struct GtkCheckButtonClass
5520 {
5521 	GtkToggleButtonClass parentClass;
5522 	/** */
5523 	extern(C) void function(GtkCheckButton* checkButton, cairo_t* cr) drawIndicator;
5524 	/** */
5525 	extern(C) void function() GtkReserved1;
5526 	/** */
5527 	extern(C) void function() GtkReserved2;
5528 	/** */
5529 	extern(C) void function() GtkReserved3;
5530 	/** */
5531 	extern(C) void function() GtkReserved4;
5532 }
5533 
5534 struct GtkCheckMenuItem
5535 {
5536 	GtkMenuItem menuItem;
5537 	GtkCheckMenuItemPrivate* priv;
5538 }
5539 
5540 struct GtkCheckMenuItemAccessible
5541 {
5542 	GtkMenuItemAccessible parent;
5543 	GtkCheckMenuItemAccessiblePrivate* priv;
5544 }
5545 
5546 struct GtkCheckMenuItemAccessibleClass
5547 {
5548 	GtkMenuItemAccessibleClass parentClass;
5549 }
5550 
5551 struct GtkCheckMenuItemAccessiblePrivate;
5552 
5553 struct GtkCheckMenuItemClass
5554 {
5555 	/**
5556 	 * The parent class.
5557 	 */
5558 	GtkMenuItemClass parentClass;
5559 	/** */
5560 	extern(C) void function(GtkCheckMenuItem* checkMenuItem) toggled;
5561 	/** */
5562 	extern(C) void function(GtkCheckMenuItem* checkMenuItem, cairo_t* cr) drawIndicator;
5563 	/** */
5564 	extern(C) void function() GtkReserved1;
5565 	/** */
5566 	extern(C) void function() GtkReserved2;
5567 	/** */
5568 	extern(C) void function() GtkReserved3;
5569 	/** */
5570 	extern(C) void function() GtkReserved4;
5571 }
5572 
5573 struct GtkCheckMenuItemPrivate;
5574 
5575 struct GtkClipboard;
5576 
5577 struct GtkColorButton
5578 {
5579 	GtkButton button;
5580 	GtkColorButtonPrivate* priv;
5581 }
5582 
5583 struct GtkColorButtonClass
5584 {
5585 	GtkButtonClass parentClass;
5586 	/** */
5587 	extern(C) void function(GtkColorButton* cp) colorSet;
5588 	/** */
5589 	extern(C) void function() GtkReserved1;
5590 	/** */
5591 	extern(C) void function() GtkReserved2;
5592 	/** */
5593 	extern(C) void function() GtkReserved3;
5594 	/** */
5595 	extern(C) void function() GtkReserved4;
5596 }
5597 
5598 struct GtkColorButtonPrivate;
5599 
5600 struct GtkColorChooser;
5601 
5602 struct GtkColorChooserDialog
5603 {
5604 	GtkDialog parentInstance;
5605 	GtkColorChooserDialogPrivate* priv;
5606 }
5607 
5608 struct GtkColorChooserDialogClass
5609 {
5610 	GtkDialogClass parentClass;
5611 	/** */
5612 	extern(C) void function() GtkReserved1;
5613 	/** */
5614 	extern(C) void function() GtkReserved2;
5615 	/** */
5616 	extern(C) void function() GtkReserved3;
5617 	/** */
5618 	extern(C) void function() GtkReserved4;
5619 }
5620 
5621 struct GtkColorChooserDialogPrivate;
5622 
5623 struct GtkColorChooserInterface
5624 {
5625 	GTypeInterface baseInterface;
5626 	/** */
5627 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) getRgba;
5628 	/** */
5629 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) setRgba;
5630 	/** */
5631 	extern(C) void function(GtkColorChooser* chooser, GtkOrientation orientation, int colorsPerLine, int nColors, GdkRGBA* colors) addPalette;
5632 	/** */
5633 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) colorActivated;
5634 	void*[12] padding;
5635 }
5636 
5637 struct GtkColorChooserWidget
5638 {
5639 	GtkBox parentInstance;
5640 	GtkColorChooserWidgetPrivate* priv;
5641 }
5642 
5643 struct GtkColorChooserWidgetClass
5644 {
5645 	/**
5646 	 * The parent class.
5647 	 */
5648 	GtkBoxClass parentClass;
5649 	/** */
5650 	extern(C) void function() GtkReserved1;
5651 	/** */
5652 	extern(C) void function() GtkReserved2;
5653 	/** */
5654 	extern(C) void function() GtkReserved3;
5655 	/** */
5656 	extern(C) void function() GtkReserved4;
5657 	/** */
5658 	extern(C) void function() GtkReserved5;
5659 	/** */
5660 	extern(C) void function() GtkReserved6;
5661 	/** */
5662 	extern(C) void function() GtkReserved7;
5663 	/** */
5664 	extern(C) void function() GtkReserved8;
5665 }
5666 
5667 struct GtkColorChooserWidgetPrivate;
5668 
5669 struct GtkColorSelection
5670 {
5671 	GtkBox parentInstance;
5672 	GtkColorSelectionPrivate* privateData;
5673 }
5674 
5675 struct GtkColorSelectionClass
5676 {
5677 	/**
5678 	 * The parent class.
5679 	 */
5680 	GtkBoxClass parentClass;
5681 	/** */
5682 	extern(C) void function(GtkColorSelection* colorSelection) colorChanged;
5683 	/** */
5684 	extern(C) void function() GtkReserved1;
5685 	/** */
5686 	extern(C) void function() GtkReserved2;
5687 	/** */
5688 	extern(C) void function() GtkReserved3;
5689 	/** */
5690 	extern(C) void function() GtkReserved4;
5691 }
5692 
5693 struct GtkColorSelectionDialog
5694 {
5695 	GtkDialog parentInstance;
5696 	GtkColorSelectionDialogPrivate* priv;
5697 }
5698 
5699 struct GtkColorSelectionDialogClass
5700 {
5701 	GtkDialogClass parentClass;
5702 	/** */
5703 	extern(C) void function() GtkReserved1;
5704 	/** */
5705 	extern(C) void function() GtkReserved2;
5706 	/** */
5707 	extern(C) void function() GtkReserved3;
5708 	/** */
5709 	extern(C) void function() GtkReserved4;
5710 }
5711 
5712 struct GtkColorSelectionDialogPrivate;
5713 
5714 struct GtkColorSelectionPrivate;
5715 
5716 struct GtkComboBox
5717 {
5718 	GtkBin parentInstance;
5719 	GtkComboBoxPrivate* priv;
5720 }
5721 
5722 struct GtkComboBoxAccessible
5723 {
5724 	GtkContainerAccessible parent;
5725 	GtkComboBoxAccessiblePrivate* priv;
5726 }
5727 
5728 struct GtkComboBoxAccessibleClass
5729 {
5730 	GtkContainerAccessibleClass parentClass;
5731 }
5732 
5733 struct GtkComboBoxAccessiblePrivate;
5734 
5735 struct GtkComboBoxClass
5736 {
5737 	/**
5738 	 * The parent class.
5739 	 */
5740 	GtkBinClass parentClass;
5741 	/** */
5742 	extern(C) void function(GtkComboBox* comboBox) changed;
5743 	/** */
5744 	extern(C) char* function(GtkComboBox* comboBox, const(char)* path) formatEntryText;
5745 	/** */
5746 	extern(C) void function() GtkReserved1;
5747 	/** */
5748 	extern(C) void function() GtkReserved2;
5749 	/** */
5750 	extern(C) void function() GtkReserved3;
5751 }
5752 
5753 struct GtkComboBoxPrivate;
5754 
5755 struct GtkComboBoxText
5756 {
5757 	GtkComboBox parentInstance;
5758 	GtkComboBoxTextPrivate* priv;
5759 }
5760 
5761 struct GtkComboBoxTextClass
5762 {
5763 	GtkComboBoxClass parentClass;
5764 	/** */
5765 	extern(C) void function() GtkReserved1;
5766 	/** */
5767 	extern(C) void function() GtkReserved2;
5768 	/** */
5769 	extern(C) void function() GtkReserved3;
5770 	/** */
5771 	extern(C) void function() GtkReserved4;
5772 }
5773 
5774 struct GtkComboBoxTextPrivate;
5775 
5776 struct GtkContainer
5777 {
5778 	GtkWidget widget;
5779 	GtkContainerPrivate* priv;
5780 }
5781 
5782 struct GtkContainerAccessible
5783 {
5784 	GtkWidgetAccessible parent;
5785 	GtkContainerAccessiblePrivate* priv;
5786 }
5787 
5788 struct GtkContainerAccessibleClass
5789 {
5790 	GtkWidgetAccessibleClass parentClass;
5791 	/** */
5792 	extern(C) int function(GtkContainer* container, GtkWidget* widget, void* data) addGtk;
5793 	/** */
5794 	extern(C) int function(GtkContainer* container, GtkWidget* widget, void* data) removeGtk;
5795 }
5796 
5797 struct GtkContainerAccessiblePrivate;
5798 
5799 struct GtkContainerCellAccessible
5800 {
5801 	GtkCellAccessible parent;
5802 	GtkContainerCellAccessiblePrivate* priv;
5803 }
5804 
5805 struct GtkContainerCellAccessibleClass
5806 {
5807 	GtkCellAccessibleClass parentClass;
5808 }
5809 
5810 struct GtkContainerCellAccessiblePrivate;
5811 
5812 struct GtkContainerClass
5813 {
5814 	/**
5815 	 * The parent class.
5816 	 */
5817 	GtkWidgetClass parentClass;
5818 	/** */
5819 	extern(C) void function(GtkContainer* container, GtkWidget* widget) add;
5820 	/** */
5821 	extern(C) void function(GtkContainer* container, GtkWidget* widget) remove;
5822 	/** */
5823 	extern(C) void function(GtkContainer* container) checkResize;
5824 	/** */
5825 	extern(C) void function(GtkContainer* container, int includeInternals, GtkCallback callback, void* callbackData) forall;
5826 	/** */
5827 	extern(C) void function(GtkContainer* container, GtkWidget* child) setFocusChild;
5828 	/**
5829 	 *
5830 	 * Params:
5831 	 *     container = a #GtkContainer
5832 	 * Returns: a #GType.
5833 	 */
5834 	extern(C) GType function(GtkContainer* container) childType;
5835 	/** */
5836 	extern(C) char* function(GtkContainer* container, GtkWidget* child) compositeName;
5837 	/** */
5838 	extern(C) void function(GtkContainer* container, GtkWidget* child, uint propertyId, GValue* value, GParamSpec* pspec) setChildProperty;
5839 	/** */
5840 	extern(C) void function(GtkContainer* container, GtkWidget* child, uint propertyId, GValue* value, GParamSpec* pspec) getChildProperty;
5841 	/**
5842 	 *
5843 	 * Params:
5844 	 *     container = a #GtkContainer
5845 	 *     child = a child of @container
5846 	 * Returns: A newly created #GtkWidgetPath
5847 	 */
5848 	extern(C) GtkWidgetPath* function(GtkContainer* container, GtkWidget* child) getPathForChild;
5849 	import std.bitmanip: bitfields;
5850 	mixin(bitfields!(
5851 		uint, "HandleBorderWidth", 1,
5852 		uint, "", 31
5853 	));
5854 	/** */
5855 	extern(C) void function() GtkReserved1;
5856 	/** */
5857 	extern(C) void function() GtkReserved2;
5858 	/** */
5859 	extern(C) void function() GtkReserved3;
5860 	/** */
5861 	extern(C) void function() GtkReserved4;
5862 	/** */
5863 	extern(C) void function() GtkReserved5;
5864 	/** */
5865 	extern(C) void function() GtkReserved6;
5866 	/** */
5867 	extern(C) void function() GtkReserved7;
5868 	/** */
5869 	extern(C) void function() GtkReserved8;
5870 }
5871 
5872 struct GtkContainerPrivate;
5873 
5874 struct GtkCssProvider
5875 {
5876 	GObject parentInstance;
5877 	GtkCssProviderPrivate* priv;
5878 }
5879 
5880 struct GtkCssProviderClass
5881 {
5882 	GObjectClass parentClass;
5883 	/** */
5884 	extern(C) void function(GtkCssProvider* provider, GtkCssSection* section, GError* error) parsingError;
5885 	/** */
5886 	extern(C) void function() GtkReserved2;
5887 	/** */
5888 	extern(C) void function() GtkReserved3;
5889 	/** */
5890 	extern(C) void function() GtkReserved4;
5891 }
5892 
5893 struct GtkCssProviderPrivate;
5894 
5895 struct GtkCssSection;
5896 
5897 struct GtkDialog
5898 {
5899 	GtkWindow window;
5900 	GtkDialogPrivate* priv;
5901 }
5902 
5903 struct GtkDialogClass
5904 {
5905 	/**
5906 	 * The parent class.
5907 	 */
5908 	GtkWindowClass parentClass;
5909 	/** */
5910 	extern(C) void function(GtkDialog* dialog, int responseId) response;
5911 	/** */
5912 	extern(C) void function(GtkDialog* dialog) close;
5913 	/** */
5914 	extern(C) void function() GtkReserved1;
5915 	/** */
5916 	extern(C) void function() GtkReserved2;
5917 	/** */
5918 	extern(C) void function() GtkReserved3;
5919 	/** */
5920 	extern(C) void function() GtkReserved4;
5921 }
5922 
5923 struct GtkDialogPrivate;
5924 
5925 struct GtkDrawingArea
5926 {
5927 	GtkWidget widget;
5928 	void* dummy;
5929 }
5930 
5931 struct GtkDrawingAreaClass
5932 {
5933 	GtkWidgetClass parentClass;
5934 	/** */
5935 	extern(C) void function() GtkReserved1;
5936 	/** */
5937 	extern(C) void function() GtkReserved2;
5938 	/** */
5939 	extern(C) void function() GtkReserved3;
5940 	/** */
5941 	extern(C) void function() GtkReserved4;
5942 }
5943 
5944 struct GtkEditable;
5945 
5946 struct GtkEditableInterface
5947 {
5948 	GTypeInterface baseIface;
5949 	/** */
5950 	extern(C) void function(GtkEditable* editable, const(char)* newText, int newTextLength, int* position) insertText;
5951 	/** */
5952 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) deleteText;
5953 	/** */
5954 	extern(C) void function(GtkEditable* editable) changed;
5955 	/** */
5956 	extern(C) void function(GtkEditable* editable, const(char)* newText, int newTextLength, int* position) doInsertText;
5957 	/** */
5958 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) doDeleteText;
5959 	/**
5960 	 *
5961 	 * Params:
5962 	 *     editable = a #GtkEditable
5963 	 *     startPos = start of text
5964 	 *     endPos = end of text
5965 	 * Returns: a pointer to the contents of the widget as a
5966 	 *     string. This string is allocated by the #GtkEditable
5967 	 *     implementation and should be freed by the caller.
5968 	 */
5969 	extern(C) char* function(GtkEditable* editable, int startPos, int endPos) getChars;
5970 	/** */
5971 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) setSelectionBounds;
5972 	/**
5973 	 *
5974 	 * Params:
5975 	 *     editable = a #GtkEditable
5976 	 *     startPos = location to store the starting position, or %NULL
5977 	 *     endPos = location to store the end position, or %NULL
5978 	 * Returns: %TRUE if an area is selected, %FALSE otherwise
5979 	 */
5980 	extern(C) int function(GtkEditable* editable, int* startPos, int* endPos) getSelectionBounds;
5981 	/** */
5982 	extern(C) void function(GtkEditable* editable, int position) setPosition;
5983 	/**
5984 	 *
5985 	 * Params:
5986 	 *     editable = a #GtkEditable
5987 	 * Returns: the cursor position
5988 	 */
5989 	extern(C) int function(GtkEditable* editable) getPosition;
5990 }
5991 
5992 struct GtkEntry
5993 {
5994 	GtkWidget parentInstance;
5995 	GtkEntryPrivate* priv;
5996 }
5997 
5998 struct GtkEntryAccessible
5999 {
6000 	GtkWidgetAccessible parent;
6001 	GtkEntryAccessiblePrivate* priv;
6002 }
6003 
6004 struct GtkEntryAccessibleClass
6005 {
6006 	GtkWidgetAccessibleClass parentClass;
6007 }
6008 
6009 struct GtkEntryAccessiblePrivate;
6010 
6011 struct GtkEntryBuffer
6012 {
6013 	GObject parentInstance;
6014 	GtkEntryBufferPrivate* priv;
6015 }
6016 
6017 struct GtkEntryBufferClass
6018 {
6019 	GObjectClass parentClass;
6020 	/** */
6021 	extern(C) void function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertedText;
6022 	/** */
6023 	extern(C) void function(GtkEntryBuffer* buffer, uint position, uint nChars) deletedText;
6024 	/** */
6025 	extern(C) const(char)* function(GtkEntryBuffer* buffer, size_t* nBytes) getText;
6026 	/**
6027 	 *
6028 	 * Params:
6029 	 *     buffer = a #GtkEntryBuffer
6030 	 * Returns: The number of characters in the buffer.
6031 	 */
6032 	extern(C) uint function(GtkEntryBuffer* buffer) getLength;
6033 	/**
6034 	 *
6035 	 * Params:
6036 	 *     buffer = a #GtkEntryBuffer
6037 	 *     position = the position at which to insert text.
6038 	 *     chars = the text to insert into the buffer.
6039 	 *     nChars = the length of the text in characters, or -1
6040 	 * Returns: The number of characters actually inserted.
6041 	 */
6042 	extern(C) uint function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertText;
6043 	/**
6044 	 *
6045 	 * Params:
6046 	 *     buffer = a #GtkEntryBuffer
6047 	 *     position = position at which to delete text
6048 	 *     nChars = number of characters to delete
6049 	 * Returns: The number of characters deleted.
6050 	 */
6051 	extern(C) uint function(GtkEntryBuffer* buffer, uint position, uint nChars) deleteText;
6052 	/** */
6053 	extern(C) void function() GtkReserved1;
6054 	/** */
6055 	extern(C) void function() GtkReserved2;
6056 	/** */
6057 	extern(C) void function() GtkReserved3;
6058 	/** */
6059 	extern(C) void function() GtkReserved4;
6060 	/** */
6061 	extern(C) void function() GtkReserved5;
6062 	/** */
6063 	extern(C) void function() GtkReserved6;
6064 	/** */
6065 	extern(C) void function() GtkReserved7;
6066 	/** */
6067 	extern(C) void function() GtkReserved8;
6068 }
6069 
6070 struct GtkEntryBufferPrivate;
6071 
6072 /**
6073  * Class structure for #GtkEntry. All virtual functions have a default
6074  * implementation. Derived classes may set the virtual function pointers for the
6075  * signal handlers to %NULL, but must keep @get_text_area_size and
6076  * @get_frame_size non-%NULL; either use the default implementation, or provide
6077  * a custom one.
6078  */
6079 struct GtkEntryClass
6080 {
6081 	/**
6082 	 * The parent class.
6083 	 */
6084 	GtkWidgetClass parentClass;
6085 	/** */
6086 	extern(C) void function(GtkEntry* entry, GtkWidget* popup) populatePopup;
6087 	/** */
6088 	extern(C) void function(GtkEntry* entry) activate;
6089 	/** */
6090 	extern(C) void function(GtkEntry* entry, GtkMovementStep step, int count, int extendSelection) moveCursor;
6091 	/** */
6092 	extern(C) void function(GtkEntry* entry, const(char)* str) insertAtCursor;
6093 	/** */
6094 	extern(C) void function(GtkEntry* entry, GtkDeleteType type, int count) deleteFromCursor;
6095 	/** */
6096 	extern(C) void function(GtkEntry* entry) backspace;
6097 	/** */
6098 	extern(C) void function(GtkEntry* entry) cutClipboard;
6099 	/** */
6100 	extern(C) void function(GtkEntry* entry) copyClipboard;
6101 	/** */
6102 	extern(C) void function(GtkEntry* entry) pasteClipboard;
6103 	/** */
6104 	extern(C) void function(GtkEntry* entry) toggleOverwrite;
6105 	/** */
6106 	extern(C) void function(GtkEntry* entry, int* x, int* y, int* width, int* height) getTextAreaSize;
6107 	/** */
6108 	extern(C) void function(GtkEntry* entry, int* x, int* y, int* width, int* height) getFrameSize;
6109 	/** */
6110 	extern(C) void function(GtkEntry* entry) insertEmoji;
6111 	/** */
6112 	extern(C) void function() GtkReserved1;
6113 	/** */
6114 	extern(C) void function() GtkReserved2;
6115 	/** */
6116 	extern(C) void function() GtkReserved3;
6117 	/** */
6118 	extern(C) void function() GtkReserved4;
6119 	/** */
6120 	extern(C) void function() GtkReserved5;
6121 	/** */
6122 	extern(C) void function() GtkReserved6;
6123 }
6124 
6125 struct GtkEntryCompletion
6126 {
6127 	GObject parentInstance;
6128 	GtkEntryCompletionPrivate* priv;
6129 }
6130 
6131 struct GtkEntryCompletionClass
6132 {
6133 	GObjectClass parentClass;
6134 	/** */
6135 	extern(C) int function(GtkEntryCompletion* completion, GtkTreeModel* model, GtkTreeIter* iter) matchSelected;
6136 	/** */
6137 	extern(C) void function(GtkEntryCompletion* completion, int index) actionActivated;
6138 	/** */
6139 	extern(C) int function(GtkEntryCompletion* completion, const(char)* prefix) insertPrefix;
6140 	/** */
6141 	extern(C) int function(GtkEntryCompletion* completion, GtkTreeModel* model, GtkTreeIter* iter) cursorOnMatch;
6142 	/** */
6143 	extern(C) void function(GtkEntryCompletion* completion) noMatches;
6144 	/** */
6145 	extern(C) void function() GtkReserved0;
6146 	/** */
6147 	extern(C) void function() GtkReserved1;
6148 	/** */
6149 	extern(C) void function() GtkReserved2;
6150 }
6151 
6152 struct GtkEntryCompletionPrivate;
6153 
6154 struct GtkEntryIconAccessible;
6155 
6156 struct GtkEntryPrivate;
6157 
6158 struct GtkEventBox
6159 {
6160 	GtkBin bin;
6161 	GtkEventBoxPrivate* priv;
6162 }
6163 
6164 struct GtkEventBoxClass
6165 {
6166 	/**
6167 	 * The parent class.
6168 	 */
6169 	GtkBinClass parentClass;
6170 	/** */
6171 	extern(C) void function() GtkReserved1;
6172 	/** */
6173 	extern(C) void function() GtkReserved2;
6174 	/** */
6175 	extern(C) void function() GtkReserved3;
6176 	/** */
6177 	extern(C) void function() GtkReserved4;
6178 }
6179 
6180 struct GtkEventBoxPrivate;
6181 
6182 struct GtkEventController;
6183 
6184 struct GtkEventControllerClass;
6185 
6186 struct GtkEventControllerKey;
6187 
6188 struct GtkEventControllerKeyClass;
6189 
6190 struct GtkEventControllerMotion;
6191 
6192 struct GtkEventControllerMotionClass;
6193 
6194 struct GtkEventControllerScroll;
6195 
6196 struct GtkEventControllerScrollClass;
6197 
6198 struct GtkExpander
6199 {
6200 	GtkBin bin;
6201 	GtkExpanderPrivate* priv;
6202 }
6203 
6204 struct GtkExpanderAccessible
6205 {
6206 	GtkContainerAccessible parent;
6207 	GtkExpanderAccessiblePrivate* priv;
6208 }
6209 
6210 struct GtkExpanderAccessibleClass
6211 {
6212 	GtkContainerAccessibleClass parentClass;
6213 }
6214 
6215 struct GtkExpanderAccessiblePrivate;
6216 
6217 struct GtkExpanderClass
6218 {
6219 	/**
6220 	 * The parent class.
6221 	 */
6222 	GtkBinClass parentClass;
6223 	/** */
6224 	extern(C) void function(GtkExpander* expander) activate;
6225 	/** */
6226 	extern(C) void function() GtkReserved1;
6227 	/** */
6228 	extern(C) void function() GtkReserved2;
6229 	/** */
6230 	extern(C) void function() GtkReserved3;
6231 	/** */
6232 	extern(C) void function() GtkReserved4;
6233 }
6234 
6235 struct GtkExpanderPrivate;
6236 
6237 struct GtkFileChooser;
6238 
6239 struct GtkFileChooserButton
6240 {
6241 	GtkBox parent;
6242 	GtkFileChooserButtonPrivate* priv;
6243 }
6244 
6245 struct GtkFileChooserButtonClass
6246 {
6247 	/**
6248 	 * The parent class.
6249 	 */
6250 	GtkBoxClass parentClass;
6251 	/** */
6252 	extern(C) void function(GtkFileChooserButton* fc) fileSet;
6253 	/** */
6254 	extern(C) void function() GtkReserved1;
6255 	/** */
6256 	extern(C) void function() GtkReserved2;
6257 	/** */
6258 	extern(C) void function() GtkReserved3;
6259 	/** */
6260 	extern(C) void function() GtkReserved4;
6261 }
6262 
6263 struct GtkFileChooserButtonPrivate;
6264 
6265 struct GtkFileChooserDialog
6266 {
6267 	GtkDialog parentInstance;
6268 	GtkFileChooserDialogPrivate* priv;
6269 }
6270 
6271 struct GtkFileChooserDialogClass
6272 {
6273 	GtkDialogClass parentClass;
6274 	/** */
6275 	extern(C) void function() GtkReserved1;
6276 	/** */
6277 	extern(C) void function() GtkReserved2;
6278 	/** */
6279 	extern(C) void function() GtkReserved3;
6280 	/** */
6281 	extern(C) void function() GtkReserved4;
6282 }
6283 
6284 struct GtkFileChooserDialogPrivate;
6285 
6286 struct GtkFileChooserNative;
6287 
6288 struct GtkFileChooserNativeClass
6289 {
6290 	GtkNativeDialogClass parentClass;
6291 }
6292 
6293 struct GtkFileChooserWidget
6294 {
6295 	GtkBox parentInstance;
6296 	GtkFileChooserWidgetPrivate* priv;
6297 }
6298 
6299 struct GtkFileChooserWidgetClass
6300 {
6301 	/**
6302 	 * The parent class.
6303 	 */
6304 	GtkBoxClass parentClass;
6305 	/** */
6306 	extern(C) void function() GtkReserved1;
6307 	/** */
6308 	extern(C) void function() GtkReserved2;
6309 	/** */
6310 	extern(C) void function() GtkReserved3;
6311 	/** */
6312 	extern(C) void function() GtkReserved4;
6313 }
6314 
6315 struct GtkFileChooserWidgetPrivate;
6316 
6317 struct GtkFileFilter;
6318 
6319 /**
6320  * A #GtkFileFilterInfo-struct is used to pass information about the
6321  * tested file to gtk_file_filter_filter().
6322  */
6323 struct GtkFileFilterInfo
6324 {
6325 	/**
6326 	 * Flags indicating which of the following fields need
6327 	 * are filled
6328 	 */
6329 	GtkFileFilterFlags contains;
6330 	/**
6331 	 * the filename of the file being tested
6332 	 */
6333 	const(char)* filename;
6334 	/**
6335 	 * the URI for the file being tested
6336 	 */
6337 	const(char)* uri;
6338 	/**
6339 	 * the string that will be used to display the file
6340 	 * in the file chooser
6341 	 */
6342 	const(char)* displayName;
6343 	/**
6344 	 * the mime type of the file
6345 	 */
6346 	const(char)* mimeType;
6347 }
6348 
6349 struct GtkFixed
6350 {
6351 	GtkContainer container;
6352 	GtkFixedPrivate* priv;
6353 }
6354 
6355 struct GtkFixedChild
6356 {
6357 	GtkWidget* widget;
6358 	int x;
6359 	int y;
6360 }
6361 
6362 struct GtkFixedClass
6363 {
6364 	GtkContainerClass parentClass;
6365 	/** */
6366 	extern(C) void function() GtkReserved1;
6367 	/** */
6368 	extern(C) void function() GtkReserved2;
6369 	/** */
6370 	extern(C) void function() GtkReserved3;
6371 	/** */
6372 	extern(C) void function() GtkReserved4;
6373 }
6374 
6375 struct GtkFixedPrivate;
6376 
6377 struct GtkFlowBox
6378 {
6379 	GtkContainer container;
6380 }
6381 
6382 struct GtkFlowBoxAccessible
6383 {
6384 	GtkContainerAccessible parent;
6385 	GtkFlowBoxAccessiblePrivate* priv;
6386 }
6387 
6388 struct GtkFlowBoxAccessibleClass
6389 {
6390 	GtkContainerAccessibleClass parentClass;
6391 }
6392 
6393 struct GtkFlowBoxAccessiblePrivate;
6394 
6395 struct GtkFlowBoxChild
6396 {
6397 	GtkBin parentInstance;
6398 }
6399 
6400 struct GtkFlowBoxChildAccessible
6401 {
6402 	GtkContainerAccessible parent;
6403 }
6404 
6405 struct GtkFlowBoxChildAccessibleClass
6406 {
6407 	GtkContainerAccessibleClass parentClass;
6408 }
6409 
6410 struct GtkFlowBoxChildClass
6411 {
6412 	GtkBinClass parentClass;
6413 	/** */
6414 	extern(C) void function(GtkFlowBoxChild* child) activate;
6415 	/** */
6416 	extern(C) void function() GtkReserved1;
6417 	/** */
6418 	extern(C) void function() GtkReserved2;
6419 }
6420 
6421 struct GtkFlowBoxClass
6422 {
6423 	GtkContainerClass parentClass;
6424 	/** */
6425 	extern(C) void function(GtkFlowBox* box, GtkFlowBoxChild* child) childActivated;
6426 	/** */
6427 	extern(C) void function(GtkFlowBox* box) selectedChildrenChanged;
6428 	/** */
6429 	extern(C) void function(GtkFlowBox* box) activateCursorChild;
6430 	/** */
6431 	extern(C) void function(GtkFlowBox* box) toggleCursorChild;
6432 	/** */
6433 	extern(C) int function(GtkFlowBox* box, GtkMovementStep step, int count) moveCursor;
6434 	/** */
6435 	extern(C) void function(GtkFlowBox* box) selectAll;
6436 	/** */
6437 	extern(C) void function(GtkFlowBox* box) unselectAll;
6438 	/** */
6439 	extern(C) void function() GtkReserved1;
6440 	/** */
6441 	extern(C) void function() GtkReserved2;
6442 	/** */
6443 	extern(C) void function() GtkReserved3;
6444 	/** */
6445 	extern(C) void function() GtkReserved4;
6446 	/** */
6447 	extern(C) void function() GtkReserved5;
6448 	/** */
6449 	extern(C) void function() GtkReserved6;
6450 }
6451 
6452 struct GtkFontButton
6453 {
6454 	GtkButton button;
6455 	GtkFontButtonPrivate* priv;
6456 }
6457 
6458 struct GtkFontButtonClass
6459 {
6460 	GtkButtonClass parentClass;
6461 	/** */
6462 	extern(C) void function(GtkFontButton* gfp) fontSet;
6463 	/** */
6464 	extern(C) void function() GtkReserved1;
6465 	/** */
6466 	extern(C) void function() GtkReserved2;
6467 	/** */
6468 	extern(C) void function() GtkReserved3;
6469 	/** */
6470 	extern(C) void function() GtkReserved4;
6471 }
6472 
6473 struct GtkFontButtonPrivate;
6474 
6475 struct GtkFontChooser;
6476 
6477 struct GtkFontChooserDialog
6478 {
6479 	GtkDialog parentInstance;
6480 	GtkFontChooserDialogPrivate* priv;
6481 }
6482 
6483 struct GtkFontChooserDialogClass
6484 {
6485 	/**
6486 	 * The parent class.
6487 	 */
6488 	GtkDialogClass parentClass;
6489 	/** */
6490 	extern(C) void function() GtkReserved1;
6491 	/** */
6492 	extern(C) void function() GtkReserved2;
6493 	/** */
6494 	extern(C) void function() GtkReserved3;
6495 	/** */
6496 	extern(C) void function() GtkReserved4;
6497 }
6498 
6499 struct GtkFontChooserDialogPrivate;
6500 
6501 struct GtkFontChooserIface
6502 {
6503 	GTypeInterface baseIface;
6504 	/**
6505 	 *
6506 	 * Params:
6507 	 *     fontchooser = a #GtkFontChooser
6508 	 * Returns: A #PangoFontFamily representing the
6509 	 *     selected font family, or %NULL. The returned object is owned by @fontchooser
6510 	 *     and must not be modified or freed.
6511 	 */
6512 	extern(C) PangoFontFamily* function(GtkFontChooser* fontchooser) getFontFamily;
6513 	/**
6514 	 *
6515 	 * Params:
6516 	 *     fontchooser = a #GtkFontChooser
6517 	 * Returns: A #PangoFontFace representing the
6518 	 *     selected font group details, or %NULL. The returned object is owned by
6519 	 *     @fontchooser and must not be modified or freed.
6520 	 */
6521 	extern(C) PangoFontFace* function(GtkFontChooser* fontchooser) getFontFace;
6522 	/**
6523 	 *
6524 	 * Params:
6525 	 *     fontchooser = a #GtkFontChooser
6526 	 * Returns: A n integer representing the selected font size,
6527 	 *     or -1 if no font size is selected.
6528 	 */
6529 	extern(C) int function(GtkFontChooser* fontchooser) getFontSize;
6530 	/** */
6531 	extern(C) void function(GtkFontChooser* fontchooser, GtkFontFilterFunc filter, void* userData, GDestroyNotify destroy) setFilterFunc;
6532 	/** */
6533 	extern(C) void function(GtkFontChooser* chooser, const(char)* fontname) fontActivated;
6534 	/** */
6535 	extern(C) void function(GtkFontChooser* fontchooser, PangoFontMap* fontmap) setFontMap;
6536 	/**
6537 	 *
6538 	 * Params:
6539 	 *     fontchooser = a #GtkFontChooser
6540 	 * Returns: a #PangoFontMap, or %NULL
6541 	 */
6542 	extern(C) PangoFontMap* function(GtkFontChooser* fontchooser) getFontMap;
6543 	void*[10] padding;
6544 }
6545 
6546 struct GtkFontChooserWidget
6547 {
6548 	GtkBox parentInstance;
6549 	GtkFontChooserWidgetPrivate* priv;
6550 }
6551 
6552 struct GtkFontChooserWidgetClass
6553 {
6554 	/**
6555 	 * The parent class.
6556 	 */
6557 	GtkBoxClass parentClass;
6558 	/** */
6559 	extern(C) void function() GtkReserved1;
6560 	/** */
6561 	extern(C) void function() GtkReserved2;
6562 	/** */
6563 	extern(C) void function() GtkReserved3;
6564 	/** */
6565 	extern(C) void function() GtkReserved4;
6566 	/** */
6567 	extern(C) void function() GtkReserved5;
6568 	/** */
6569 	extern(C) void function() GtkReserved6;
6570 	/** */
6571 	extern(C) void function() GtkReserved7;
6572 	/** */
6573 	extern(C) void function() GtkReserved8;
6574 }
6575 
6576 struct GtkFontChooserWidgetPrivate;
6577 
6578 struct GtkFontSelection
6579 {
6580 	GtkBox parentInstance;
6581 	GtkFontSelectionPrivate* priv;
6582 }
6583 
6584 struct GtkFontSelectionClass
6585 {
6586 	GtkBoxClass parentClass;
6587 	/** */
6588 	extern(C) void function() GtkReserved1;
6589 	/** */
6590 	extern(C) void function() GtkReserved2;
6591 	/** */
6592 	extern(C) void function() GtkReserved3;
6593 	/** */
6594 	extern(C) void function() GtkReserved4;
6595 }
6596 
6597 struct GtkFontSelectionDialog
6598 {
6599 	GtkDialog parentInstance;
6600 	GtkFontSelectionDialogPrivate* priv;
6601 }
6602 
6603 struct GtkFontSelectionDialogClass
6604 {
6605 	GtkDialogClass parentClass;
6606 	/** */
6607 	extern(C) void function() GtkReserved1;
6608 	/** */
6609 	extern(C) void function() GtkReserved2;
6610 	/** */
6611 	extern(C) void function() GtkReserved3;
6612 	/** */
6613 	extern(C) void function() GtkReserved4;
6614 }
6615 
6616 struct GtkFontSelectionDialogPrivate;
6617 
6618 struct GtkFontSelectionPrivate;
6619 
6620 struct GtkFrame
6621 {
6622 	GtkBin bin;
6623 	GtkFramePrivate* priv;
6624 }
6625 
6626 struct GtkFrameAccessible
6627 {
6628 	GtkContainerAccessible parent;
6629 	GtkFrameAccessiblePrivate* priv;
6630 }
6631 
6632 struct GtkFrameAccessibleClass
6633 {
6634 	GtkContainerAccessibleClass parentClass;
6635 }
6636 
6637 struct GtkFrameAccessiblePrivate;
6638 
6639 struct GtkFrameClass
6640 {
6641 	/**
6642 	 * The parent class.
6643 	 */
6644 	GtkBinClass parentClass;
6645 	/** */
6646 	extern(C) void function(GtkFrame* frame, GtkAllocation* allocation) computeChildAllocation;
6647 	/** */
6648 	extern(C) void function() GtkReserved1;
6649 	/** */
6650 	extern(C) void function() GtkReserved2;
6651 	/** */
6652 	extern(C) void function() GtkReserved3;
6653 	/** */
6654 	extern(C) void function() GtkReserved4;
6655 }
6656 
6657 struct GtkFramePrivate;
6658 
6659 struct GtkGLArea
6660 {
6661 	GtkWidget parentInstance;
6662 }
6663 
6664 /**
6665  * The `GtkGLAreaClass` structure contains only private data.
6666  *
6667  * Since: 3.16
6668  */
6669 struct GtkGLAreaClass
6670 {
6671 	GtkWidgetClass parentClass;
6672 	/** */
6673 	extern(C) int function(GtkGLArea* area, GdkGLContext* context) render;
6674 	/** */
6675 	extern(C) void function(GtkGLArea* area, int width, int height) resize;
6676 	/** */
6677 	extern(C) GdkGLContext* function(GtkGLArea* area) createContext;
6678 	void*[6] Padding;
6679 }
6680 
6681 struct GtkGesture;
6682 
6683 struct GtkGestureClass;
6684 
6685 struct GtkGestureDrag;
6686 
6687 struct GtkGestureDragClass;
6688 
6689 struct GtkGestureLongPress;
6690 
6691 struct GtkGestureLongPressClass;
6692 
6693 struct GtkGestureMultiPress;
6694 
6695 struct GtkGestureMultiPressClass;
6696 
6697 struct GtkGesturePan;
6698 
6699 struct GtkGesturePanClass;
6700 
6701 struct GtkGestureRotate;
6702 
6703 struct GtkGestureRotateClass;
6704 
6705 struct GtkGestureSingle;
6706 
6707 struct GtkGestureSingleClass;
6708 
6709 struct GtkGestureStylus;
6710 
6711 struct GtkGestureStylusClass;
6712 
6713 struct GtkGestureSwipe;
6714 
6715 struct GtkGestureSwipeClass;
6716 
6717 struct GtkGestureZoom;
6718 
6719 struct GtkGestureZoomClass;
6720 
6721 struct GtkGradient;
6722 
6723 struct GtkGrid
6724 {
6725 	GtkContainer container;
6726 	GtkGridPrivate* priv;
6727 }
6728 
6729 struct GtkGridClass
6730 {
6731 	/**
6732 	 * The parent class.
6733 	 */
6734 	GtkContainerClass parentClass;
6735 	/** */
6736 	extern(C) void function() GtkReserved1;
6737 	/** */
6738 	extern(C) void function() GtkReserved2;
6739 	/** */
6740 	extern(C) void function() GtkReserved3;
6741 	/** */
6742 	extern(C) void function() GtkReserved4;
6743 	/** */
6744 	extern(C) void function() GtkReserved5;
6745 	/** */
6746 	extern(C) void function() GtkReserved6;
6747 	/** */
6748 	extern(C) void function() GtkReserved7;
6749 	/** */
6750 	extern(C) void function() GtkReserved8;
6751 }
6752 
6753 struct GtkGridPrivate;
6754 
6755 struct GtkHBox
6756 {
6757 	GtkBox box;
6758 }
6759 
6760 struct GtkHBoxClass
6761 {
6762 	GtkBoxClass parentClass;
6763 }
6764 
6765 struct GtkHButtonBox
6766 {
6767 	GtkButtonBox buttonBox;
6768 }
6769 
6770 struct GtkHButtonBoxClass
6771 {
6772 	GtkButtonBoxClass parentClass;
6773 }
6774 
6775 struct GtkHPaned
6776 {
6777 	GtkPaned paned;
6778 }
6779 
6780 struct GtkHPanedClass
6781 {
6782 	GtkPanedClass parentClass;
6783 }
6784 
6785 struct GtkHSV
6786 {
6787 	GtkWidget parentInstance;
6788 	GtkHSVPrivate* priv;
6789 }
6790 
6791 struct GtkHSVClass
6792 {
6793 	GtkWidgetClass parentClass;
6794 	/** */
6795 	extern(C) void function(GtkHSV* hsv) changed;
6796 	/** */
6797 	extern(C) void function(GtkHSV* hsv, GtkDirectionType type) move;
6798 	/** */
6799 	extern(C) void function() GtkReserved1;
6800 	/** */
6801 	extern(C) void function() GtkReserved2;
6802 	/** */
6803 	extern(C) void function() GtkReserved3;
6804 	/** */
6805 	extern(C) void function() GtkReserved4;
6806 }
6807 
6808 struct GtkHSVPrivate;
6809 
6810 struct GtkHScale
6811 {
6812 	GtkScale scale;
6813 }
6814 
6815 struct GtkHScaleClass
6816 {
6817 	GtkScaleClass parentClass;
6818 }
6819 
6820 struct GtkHScrollbar
6821 {
6822 	GtkScrollbar scrollbar;
6823 }
6824 
6825 struct GtkHScrollbarClass
6826 {
6827 	GtkScrollbarClass parentClass;
6828 }
6829 
6830 struct GtkHSeparator
6831 {
6832 	GtkSeparator separator;
6833 }
6834 
6835 struct GtkHSeparatorClass
6836 {
6837 	GtkSeparatorClass parentClass;
6838 }
6839 
6840 struct GtkHandleBox
6841 {
6842 	GtkBin bin;
6843 	GtkHandleBoxPrivate* priv;
6844 }
6845 
6846 struct GtkHandleBoxClass
6847 {
6848 	/**
6849 	 * The parent class.
6850 	 */
6851 	GtkBinClass parentClass;
6852 	/** */
6853 	extern(C) void function(GtkHandleBox* handleBox, GtkWidget* child) childAttached;
6854 	/** */
6855 	extern(C) void function(GtkHandleBox* handleBox, GtkWidget* child) childDetached;
6856 	/** */
6857 	extern(C) void function() GtkReserved1;
6858 	/** */
6859 	extern(C) void function() GtkReserved2;
6860 	/** */
6861 	extern(C) void function() GtkReserved3;
6862 	/** */
6863 	extern(C) void function() GtkReserved4;
6864 }
6865 
6866 struct GtkHandleBoxPrivate;
6867 
6868 struct GtkHeaderBar
6869 {
6870 	GtkContainer container;
6871 }
6872 
6873 struct GtkHeaderBarClass
6874 {
6875 	GtkContainerClass parentClass;
6876 	/** */
6877 	extern(C) void function() GtkReserved1;
6878 	/** */
6879 	extern(C) void function() GtkReserved2;
6880 	/** */
6881 	extern(C) void function() GtkReserved3;
6882 	/** */
6883 	extern(C) void function() GtkReserved4;
6884 }
6885 
6886 struct GtkHeaderBarPrivate;
6887 
6888 struct GtkIMContext
6889 {
6890 	GObject parentInstance;
6891 }
6892 
6893 struct GtkIMContextClass
6894 {
6895 	GObjectClass parentClass;
6896 	/** */
6897 	extern(C) void function(GtkIMContext* context) preeditStart;
6898 	/** */
6899 	extern(C) void function(GtkIMContext* context) preeditEnd;
6900 	/** */
6901 	extern(C) void function(GtkIMContext* context) preeditChanged;
6902 	/** */
6903 	extern(C) void function(GtkIMContext* context, const(char)* str) commit;
6904 	/** */
6905 	extern(C) int function(GtkIMContext* context) retrieveSurrounding;
6906 	/**
6907 	 *
6908 	 * Params:
6909 	 *     context = a #GtkIMContext
6910 	 *     offset = offset from cursor position in chars;
6911 	 *         a negative value means start before the cursor.
6912 	 *     nChars = number of characters to delete.
6913 	 * Returns: %TRUE if the signal was handled.
6914 	 */
6915 	extern(C) int function(GtkIMContext* context, int offset, int nChars) deleteSurrounding;
6916 	/** */
6917 	extern(C) void function(GtkIMContext* context, GdkWindow* window) setClientWindow;
6918 	/** */
6919 	extern(C) void function(GtkIMContext* context, char** str, PangoAttrList** attrs, int* cursorPos) getPreeditString;
6920 	/**
6921 	 *
6922 	 * Params:
6923 	 *     context = a #GtkIMContext
6924 	 *     event = the key event
6925 	 * Returns: %TRUE if the input method handled the key event.
6926 	 */
6927 	extern(C) int function(GtkIMContext* context, GdkEventKey* event) filterKeypress;
6928 	/** */
6929 	extern(C) void function(GtkIMContext* context) focusIn;
6930 	/** */
6931 	extern(C) void function(GtkIMContext* context) focusOut;
6932 	/** */
6933 	extern(C) void function(GtkIMContext* context) reset;
6934 	/** */
6935 	extern(C) void function(GtkIMContext* context, GdkRectangle* area) setCursorLocation;
6936 	/** */
6937 	extern(C) void function(GtkIMContext* context, int usePreedit) setUsePreedit;
6938 	/** */
6939 	extern(C) void function(GtkIMContext* context, const(char)* text, int len, int cursorIndex) setSurrounding;
6940 	/**
6941 	 *
6942 	 * Params:
6943 	 *     context = a #GtkIMContext
6944 	 *     text = location to store a UTF-8 encoded
6945 	 *         string of text holding context around the insertion point.
6946 	 *         If the function returns %TRUE, then you must free the result
6947 	 *         stored in this location with g_free().
6948 	 *     cursorIndex = location to store byte index of the insertion
6949 	 *         cursor within @text.
6950 	 * Returns: %TRUE if surrounding text was provided; in this case
6951 	 *     you must free the result stored in *text.
6952 	 */
6953 	extern(C) int function(GtkIMContext* context, char** text, int* cursorIndex) getSurrounding;
6954 	/** */
6955 	extern(C) void function() GtkReserved1;
6956 	/** */
6957 	extern(C) void function() GtkReserved2;
6958 	/** */
6959 	extern(C) void function() GtkReserved3;
6960 	/** */
6961 	extern(C) void function() GtkReserved4;
6962 	/** */
6963 	extern(C) void function() GtkReserved5;
6964 	/** */
6965 	extern(C) void function() GtkReserved6;
6966 }
6967 
6968 /**
6969  * Bookkeeping information about a loadable input method.
6970  */
6971 struct GtkIMContextInfo
6972 {
6973 	/**
6974 	 * The unique identification string of the input method.
6975 	 */
6976 	const(char)* contextId;
6977 	/**
6978 	 * The human-readable name of the input method.
6979 	 */
6980 	const(char)* contextName;
6981 	/**
6982 	 * Translation domain to be used with dgettext()
6983 	 */
6984 	const(char)* domain;
6985 	/**
6986 	 * Name of locale directory for use with bindtextdomain()
6987 	 */
6988 	const(char)* domainDirname;
6989 	/**
6990 	 * A colon-separated list of locales where this input method
6991 	 * should be the default. The asterisk “*” sets the default for all locales.
6992 	 */
6993 	const(char)* defaultLocales;
6994 }
6995 
6996 struct GtkIMContextSimple
6997 {
6998 	GtkIMContext object;
6999 	GtkIMContextSimplePrivate* priv;
7000 }
7001 
7002 struct GtkIMContextSimpleClass
7003 {
7004 	GtkIMContextClass parentClass;
7005 }
7006 
7007 struct GtkIMContextSimplePrivate;
7008 
7009 struct GtkIMMulticontext
7010 {
7011 	GtkIMContext object;
7012 	GtkIMMulticontextPrivate* priv;
7013 }
7014 
7015 struct GtkIMMulticontextClass
7016 {
7017 	GtkIMContextClass parentClass;
7018 	/** */
7019 	extern(C) void function() GtkReserved1;
7020 	/** */
7021 	extern(C) void function() GtkReserved2;
7022 	/** */
7023 	extern(C) void function() GtkReserved3;
7024 	/** */
7025 	extern(C) void function() GtkReserved4;
7026 }
7027 
7028 struct GtkIMMulticontextPrivate;
7029 
7030 struct GtkIconFactory
7031 {
7032 	GObject parentInstance;
7033 	GtkIconFactoryPrivate* priv;
7034 }
7035 
7036 struct GtkIconFactoryClass
7037 {
7038 	/**
7039 	 * The parent class.
7040 	 */
7041 	GObjectClass parentClass;
7042 	/** */
7043 	extern(C) void function() GtkReserved1;
7044 	/** */
7045 	extern(C) void function() GtkReserved2;
7046 	/** */
7047 	extern(C) void function() GtkReserved3;
7048 	/** */
7049 	extern(C) void function() GtkReserved4;
7050 }
7051 
7052 struct GtkIconFactoryPrivate;
7053 
7054 struct GtkIconInfo;
7055 
7056 struct GtkIconInfoClass;
7057 
7058 struct GtkIconSet;
7059 
7060 struct GtkIconSource;
7061 
7062 struct GtkIconTheme
7063 {
7064 	GObject parentInstance;
7065 	GtkIconThemePrivate* priv;
7066 }
7067 
7068 struct GtkIconThemeClass
7069 {
7070 	/**
7071 	 * The parent class.
7072 	 */
7073 	GObjectClass parentClass;
7074 	/** */
7075 	extern(C) void function(GtkIconTheme* iconTheme) changed;
7076 	/** */
7077 	extern(C) void function() GtkReserved1;
7078 	/** */
7079 	extern(C) void function() GtkReserved2;
7080 	/** */
7081 	extern(C) void function() GtkReserved3;
7082 	/** */
7083 	extern(C) void function() GtkReserved4;
7084 }
7085 
7086 struct GtkIconThemePrivate;
7087 
7088 struct GtkIconView
7089 {
7090 	GtkContainer parent;
7091 	GtkIconViewPrivate* priv;
7092 }
7093 
7094 struct GtkIconViewAccessible
7095 {
7096 	GtkContainerAccessible parent;
7097 	GtkIconViewAccessiblePrivate* priv;
7098 }
7099 
7100 struct GtkIconViewAccessibleClass
7101 {
7102 	GtkContainerAccessibleClass parentClass;
7103 }
7104 
7105 struct GtkIconViewAccessiblePrivate;
7106 
7107 struct GtkIconViewClass
7108 {
7109 	GtkContainerClass parentClass;
7110 	/** */
7111 	extern(C) void function(GtkIconView* iconView, GtkTreePath* path) itemActivated;
7112 	/** */
7113 	extern(C) void function(GtkIconView* iconView) selectionChanged;
7114 	/** */
7115 	extern(C) void function(GtkIconView* iconView) selectAll;
7116 	/** */
7117 	extern(C) void function(GtkIconView* iconView) unselectAll;
7118 	/** */
7119 	extern(C) void function(GtkIconView* iconView) selectCursorItem;
7120 	/** */
7121 	extern(C) void function(GtkIconView* iconView) toggleCursorItem;
7122 	/** */
7123 	extern(C) int function(GtkIconView* iconView, GtkMovementStep step, int count) moveCursor;
7124 	/** */
7125 	extern(C) int function(GtkIconView* iconView) activateCursorItem;
7126 	/** */
7127 	extern(C) void function() GtkReserved1;
7128 	/** */
7129 	extern(C) void function() GtkReserved2;
7130 	/** */
7131 	extern(C) void function() GtkReserved3;
7132 	/** */
7133 	extern(C) void function() GtkReserved4;
7134 }
7135 
7136 struct GtkIconViewPrivate;
7137 
7138 struct GtkImage
7139 {
7140 	GtkMisc misc;
7141 	GtkImagePrivate* priv;
7142 }
7143 
7144 struct GtkImageAccessible
7145 {
7146 	GtkWidgetAccessible parent;
7147 	GtkImageAccessiblePrivate* priv;
7148 }
7149 
7150 struct GtkImageAccessibleClass
7151 {
7152 	GtkWidgetAccessibleClass parentClass;
7153 }
7154 
7155 struct GtkImageAccessiblePrivate;
7156 
7157 struct GtkImageCellAccessible
7158 {
7159 	GtkRendererCellAccessible parent;
7160 	GtkImageCellAccessiblePrivate* priv;
7161 }
7162 
7163 struct GtkImageCellAccessibleClass
7164 {
7165 	GtkRendererCellAccessibleClass parentClass;
7166 }
7167 
7168 struct GtkImageCellAccessiblePrivate;
7169 
7170 struct GtkImageClass
7171 {
7172 	GtkMiscClass parentClass;
7173 	/** */
7174 	extern(C) void function() GtkReserved1;
7175 	/** */
7176 	extern(C) void function() GtkReserved2;
7177 	/** */
7178 	extern(C) void function() GtkReserved3;
7179 	/** */
7180 	extern(C) void function() GtkReserved4;
7181 }
7182 
7183 struct GtkImageMenuItem
7184 {
7185 	GtkMenuItem menuItem;
7186 	GtkImageMenuItemPrivate* priv;
7187 }
7188 
7189 struct GtkImageMenuItemClass
7190 {
7191 	/**
7192 	 * The parent class.
7193 	 */
7194 	GtkMenuItemClass parentClass;
7195 	/** */
7196 	extern(C) void function() GtkReserved1;
7197 	/** */
7198 	extern(C) void function() GtkReserved2;
7199 	/** */
7200 	extern(C) void function() GtkReserved3;
7201 	/** */
7202 	extern(C) void function() GtkReserved4;
7203 }
7204 
7205 struct GtkImageMenuItemPrivate;
7206 
7207 struct GtkImagePrivate;
7208 
7209 struct GtkInfoBar
7210 {
7211 	GtkBox parent;
7212 	GtkInfoBarPrivate* priv;
7213 }
7214 
7215 struct GtkInfoBarClass
7216 {
7217 	GtkBoxClass parentClass;
7218 	/** */
7219 	extern(C) void function(GtkInfoBar* infoBar, int responseId) response;
7220 	/** */
7221 	extern(C) void function(GtkInfoBar* infoBar) close;
7222 	/** */
7223 	extern(C) void function() GtkReserved1;
7224 	/** */
7225 	extern(C) void function() GtkReserved2;
7226 	/** */
7227 	extern(C) void function() GtkReserved3;
7228 	/** */
7229 	extern(C) void function() GtkReserved4;
7230 }
7231 
7232 struct GtkInfoBarPrivate;
7233 
7234 struct GtkInvisible
7235 {
7236 	GtkWidget widget;
7237 	GtkInvisiblePrivate* priv;
7238 }
7239 
7240 struct GtkInvisibleClass
7241 {
7242 	GtkWidgetClass parentClass;
7243 	/** */
7244 	extern(C) void function() GtkReserved1;
7245 	/** */
7246 	extern(C) void function() GtkReserved2;
7247 	/** */
7248 	extern(C) void function() GtkReserved3;
7249 	/** */
7250 	extern(C) void function() GtkReserved4;
7251 }
7252 
7253 struct GtkInvisiblePrivate;
7254 
7255 struct GtkLabel
7256 {
7257 	GtkMisc misc;
7258 	GtkLabelPrivate* priv;
7259 }
7260 
7261 struct GtkLabelAccessible
7262 {
7263 	GtkWidgetAccessible parent;
7264 	GtkLabelAccessiblePrivate* priv;
7265 }
7266 
7267 struct GtkLabelAccessibleClass
7268 {
7269 	GtkWidgetAccessibleClass parentClass;
7270 }
7271 
7272 struct GtkLabelAccessiblePrivate;
7273 
7274 struct GtkLabelClass
7275 {
7276 	GtkMiscClass parentClass;
7277 	/** */
7278 	extern(C) void function(GtkLabel* label, GtkMovementStep step, int count, int extendSelection) moveCursor;
7279 	/** */
7280 	extern(C) void function(GtkLabel* label) copyClipboard;
7281 	/** */
7282 	extern(C) void function(GtkLabel* label, GtkMenu* menu) populatePopup;
7283 	/** */
7284 	extern(C) int function(GtkLabel* label, const(char)* uri) activateLink;
7285 	/** */
7286 	extern(C) void function() GtkReserved1;
7287 	/** */
7288 	extern(C) void function() GtkReserved2;
7289 	/** */
7290 	extern(C) void function() GtkReserved3;
7291 	/** */
7292 	extern(C) void function() GtkReserved4;
7293 	/** */
7294 	extern(C) void function() GtkReserved5;
7295 	/** */
7296 	extern(C) void function() GtkReserved6;
7297 	/** */
7298 	extern(C) void function() GtkReserved7;
7299 	/** */
7300 	extern(C) void function() GtkReserved8;
7301 }
7302 
7303 struct GtkLabelPrivate;
7304 
7305 struct GtkLabelSelectionInfo;
7306 
7307 struct GtkLayout
7308 {
7309 	GtkContainer container;
7310 	GtkLayoutPrivate* priv;
7311 }
7312 
7313 struct GtkLayoutClass
7314 {
7315 	GtkContainerClass parentClass;
7316 	/** */
7317 	extern(C) void function() GtkReserved1;
7318 	/** */
7319 	extern(C) void function() GtkReserved2;
7320 	/** */
7321 	extern(C) void function() GtkReserved3;
7322 	/** */
7323 	extern(C) void function() GtkReserved4;
7324 }
7325 
7326 struct GtkLayoutPrivate;
7327 
7328 struct GtkLevelBar
7329 {
7330 	GtkWidget parent;
7331 	GtkLevelBarPrivate* priv;
7332 }
7333 
7334 struct GtkLevelBarAccessible
7335 {
7336 	GtkWidgetAccessible parent;
7337 	GtkLevelBarAccessiblePrivate* priv;
7338 }
7339 
7340 struct GtkLevelBarAccessibleClass
7341 {
7342 	GtkWidgetAccessibleClass parentClass;
7343 }
7344 
7345 struct GtkLevelBarAccessiblePrivate;
7346 
7347 struct GtkLevelBarClass
7348 {
7349 	GtkWidgetClass parentClass;
7350 	/** */
7351 	extern(C) void function(GtkLevelBar* self, const(char)* name) offsetChanged;
7352 	void*[16] padding;
7353 }
7354 
7355 struct GtkLevelBarPrivate;
7356 
7357 struct GtkLinkButton
7358 {
7359 	GtkButton parentInstance;
7360 	GtkLinkButtonPrivate* priv;
7361 }
7362 
7363 struct GtkLinkButtonAccessible
7364 {
7365 	GtkButtonAccessible parent;
7366 	GtkLinkButtonAccessiblePrivate* priv;
7367 }
7368 
7369 struct GtkLinkButtonAccessibleClass
7370 {
7371 	GtkButtonAccessibleClass parentClass;
7372 }
7373 
7374 struct GtkLinkButtonAccessiblePrivate;
7375 
7376 /**
7377  * The #GtkLinkButtonClass contains only
7378  * private data.
7379  */
7380 struct GtkLinkButtonClass
7381 {
7382 	GtkButtonClass parentClass;
7383 	/** */
7384 	extern(C) int function(GtkLinkButton* button) activateLink;
7385 	/** */
7386 	extern(C) void function() GtkPadding1;
7387 	/** */
7388 	extern(C) void function() GtkPadding2;
7389 	/** */
7390 	extern(C) void function() GtkPadding3;
7391 	/** */
7392 	extern(C) void function() GtkPadding4;
7393 }
7394 
7395 struct GtkLinkButtonPrivate;
7396 
7397 struct GtkListBox
7398 {
7399 	GtkContainer parentInstance;
7400 }
7401 
7402 struct GtkListBoxAccessible
7403 {
7404 	GtkContainerAccessible parent;
7405 	GtkListBoxAccessiblePrivate* priv;
7406 }
7407 
7408 struct GtkListBoxAccessibleClass
7409 {
7410 	GtkContainerAccessibleClass parentClass;
7411 }
7412 
7413 struct GtkListBoxAccessiblePrivate;
7414 
7415 struct GtkListBoxClass
7416 {
7417 	/**
7418 	 * The parent class.
7419 	 */
7420 	GtkContainerClass parentClass;
7421 	/** */
7422 	extern(C) void function(GtkListBox* box, GtkListBoxRow* row) rowSelected;
7423 	/** */
7424 	extern(C) void function(GtkListBox* box, GtkListBoxRow* row) rowActivated;
7425 	/** */
7426 	extern(C) void function(GtkListBox* box) activateCursorRow;
7427 	/** */
7428 	extern(C) void function(GtkListBox* box) toggleCursorRow;
7429 	/** */
7430 	extern(C) void function(GtkListBox* box, GtkMovementStep step, int count) moveCursor;
7431 	/** */
7432 	extern(C) void function(GtkListBox* box) selectedRowsChanged;
7433 	/** */
7434 	extern(C) void function(GtkListBox* box) selectAll;
7435 	/** */
7436 	extern(C) void function(GtkListBox* box) unselectAll;
7437 	/** */
7438 	extern(C) void function() GtkReserved1;
7439 	/** */
7440 	extern(C) void function() GtkReserved2;
7441 	/** */
7442 	extern(C) void function() GtkReserved3;
7443 }
7444 
7445 struct GtkListBoxRow
7446 {
7447 	GtkBin parentInstance;
7448 }
7449 
7450 struct GtkListBoxRowAccessible
7451 {
7452 	GtkContainerAccessible parent;
7453 }
7454 
7455 struct GtkListBoxRowAccessibleClass
7456 {
7457 	GtkContainerAccessibleClass parentClass;
7458 }
7459 
7460 struct GtkListBoxRowClass
7461 {
7462 	/**
7463 	 * The parent class.
7464 	 */
7465 	GtkBinClass parentClass;
7466 	/** */
7467 	extern(C) void function(GtkListBoxRow* row) activate;
7468 	/** */
7469 	extern(C) void function() GtkReserved1;
7470 	/** */
7471 	extern(C) void function() GtkReserved2;
7472 }
7473 
7474 struct GtkListStore
7475 {
7476 	GObject parent;
7477 	GtkListStorePrivate* priv;
7478 }
7479 
7480 struct GtkListStoreClass
7481 {
7482 	GObjectClass parentClass;
7483 	/** */
7484 	extern(C) void function() GtkReserved1;
7485 	/** */
7486 	extern(C) void function() GtkReserved2;
7487 	/** */
7488 	extern(C) void function() GtkReserved3;
7489 	/** */
7490 	extern(C) void function() GtkReserved4;
7491 }
7492 
7493 struct GtkListStorePrivate;
7494 
7495 struct GtkLockButton
7496 {
7497 	GtkButton parent;
7498 	GtkLockButtonPrivate* priv;
7499 }
7500 
7501 struct GtkLockButtonAccessible
7502 {
7503 	GtkButtonAccessible parent;
7504 	GtkLockButtonAccessiblePrivate* priv;
7505 }
7506 
7507 struct GtkLockButtonAccessibleClass
7508 {
7509 	GtkButtonAccessibleClass parentClass;
7510 }
7511 
7512 struct GtkLockButtonAccessiblePrivate;
7513 
7514 struct GtkLockButtonClass
7515 {
7516 	/**
7517 	 * The parent class.
7518 	 */
7519 	GtkButtonClass parentClass;
7520 	/** */
7521 	extern(C) void function() reserved0;
7522 	/** */
7523 	extern(C) void function() reserved1;
7524 	/** */
7525 	extern(C) void function() reserved2;
7526 	/** */
7527 	extern(C) void function() reserved3;
7528 	/** */
7529 	extern(C) void function() reserved4;
7530 	/** */
7531 	extern(C) void function() reserved5;
7532 	/** */
7533 	extern(C) void function() reserved6;
7534 	/** */
7535 	extern(C) void function() reserved7;
7536 }
7537 
7538 struct GtkLockButtonPrivate;
7539 
7540 struct GtkMenu
7541 {
7542 	GtkMenuShell menuShell;
7543 	GtkMenuPrivate* priv;
7544 }
7545 
7546 struct GtkMenuAccessible
7547 {
7548 	GtkMenuShellAccessible parent;
7549 	GtkMenuAccessiblePrivate* priv;
7550 }
7551 
7552 struct GtkMenuAccessibleClass
7553 {
7554 	GtkMenuShellAccessibleClass parentClass;
7555 }
7556 
7557 struct GtkMenuAccessiblePrivate;
7558 
7559 struct GtkMenuBar
7560 {
7561 	GtkMenuShell menuShell;
7562 	GtkMenuBarPrivate* priv;
7563 }
7564 
7565 struct GtkMenuBarClass
7566 {
7567 	GtkMenuShellClass parentClass;
7568 	/** */
7569 	extern(C) void function() GtkReserved1;
7570 	/** */
7571 	extern(C) void function() GtkReserved2;
7572 	/** */
7573 	extern(C) void function() GtkReserved3;
7574 	/** */
7575 	extern(C) void function() GtkReserved4;
7576 }
7577 
7578 struct GtkMenuBarPrivate;
7579 
7580 struct GtkMenuButton
7581 {
7582 	GtkToggleButton parent;
7583 	GtkMenuButtonPrivate* priv;
7584 }
7585 
7586 struct GtkMenuButtonAccessible
7587 {
7588 	GtkToggleButtonAccessible parent;
7589 	GtkMenuButtonAccessiblePrivate* priv;
7590 }
7591 
7592 struct GtkMenuButtonAccessibleClass
7593 {
7594 	GtkToggleButtonAccessibleClass parentClass;
7595 }
7596 
7597 struct GtkMenuButtonAccessiblePrivate;
7598 
7599 struct GtkMenuButtonClass
7600 {
7601 	GtkToggleButtonClass parentClass;
7602 	/** */
7603 	extern(C) void function() GtkReserved1;
7604 	/** */
7605 	extern(C) void function() GtkReserved2;
7606 	/** */
7607 	extern(C) void function() GtkReserved3;
7608 	/** */
7609 	extern(C) void function() GtkReserved4;
7610 }
7611 
7612 struct GtkMenuButtonPrivate;
7613 
7614 struct GtkMenuClass
7615 {
7616 	GtkMenuShellClass parentClass;
7617 	/** */
7618 	extern(C) void function() GtkReserved1;
7619 	/** */
7620 	extern(C) void function() GtkReserved2;
7621 	/** */
7622 	extern(C) void function() GtkReserved3;
7623 	/** */
7624 	extern(C) void function() GtkReserved4;
7625 }
7626 
7627 struct GtkMenuItem
7628 {
7629 	GtkBin bin;
7630 	GtkMenuItemPrivate* priv;
7631 }
7632 
7633 struct GtkMenuItemAccessible
7634 {
7635 	GtkContainerAccessible parent;
7636 	GtkMenuItemAccessiblePrivate* priv;
7637 }
7638 
7639 struct GtkMenuItemAccessibleClass
7640 {
7641 	GtkContainerAccessibleClass parentClass;
7642 }
7643 
7644 struct GtkMenuItemAccessiblePrivate;
7645 
7646 struct GtkMenuItemClass
7647 {
7648 	/**
7649 	 * The parent class.
7650 	 */
7651 	GtkBinClass parentClass;
7652 	import std.bitmanip: bitfields;
7653 	mixin(bitfields!(
7654 		uint, "hideOnActivate", 1,
7655 		uint, "", 31
7656 	));
7657 	/** */
7658 	extern(C) void function(GtkMenuItem* menuItem) activate;
7659 	/** */
7660 	extern(C) void function(GtkMenuItem* menuItem) activateItem;
7661 	/** */
7662 	extern(C) void function(GtkMenuItem* menuItem, int* requisition) toggleSizeRequest;
7663 	/** */
7664 	extern(C) void function(GtkMenuItem* menuItem, int allocation) toggleSizeAllocate;
7665 	/** */
7666 	extern(C) void function(GtkMenuItem* menuItem, const(char)* label) setLabel;
7667 	/**
7668 	 *
7669 	 * Params:
7670 	 *     menuItem = a #GtkMenuItem
7671 	 * Returns: The text in the @menu_item label. This is the internal
7672 	 *     string used by the label, and must not be modified.
7673 	 */
7674 	extern(C) const(char)* function(GtkMenuItem* menuItem) getLabel;
7675 	/** */
7676 	extern(C) void function(GtkMenuItem* menuItem) select;
7677 	/** */
7678 	extern(C) void function(GtkMenuItem* menuItem) deselect;
7679 	/** */
7680 	extern(C) void function() GtkReserved1;
7681 	/** */
7682 	extern(C) void function() GtkReserved2;
7683 	/** */
7684 	extern(C) void function() GtkReserved3;
7685 	/** */
7686 	extern(C) void function() GtkReserved4;
7687 }
7688 
7689 struct GtkMenuItemPrivate;
7690 
7691 struct GtkMenuPrivate;
7692 
7693 struct GtkMenuShell
7694 {
7695 	GtkContainer container;
7696 	GtkMenuShellPrivate* priv;
7697 }
7698 
7699 struct GtkMenuShellAccessible
7700 {
7701 	GtkContainerAccessible parent;
7702 	GtkMenuShellAccessiblePrivate* priv;
7703 }
7704 
7705 struct GtkMenuShellAccessibleClass
7706 {
7707 	GtkContainerAccessibleClass parentClass;
7708 }
7709 
7710 struct GtkMenuShellAccessiblePrivate;
7711 
7712 struct GtkMenuShellClass
7713 {
7714 	GtkContainerClass parentClass;
7715 	import std.bitmanip: bitfields;
7716 	mixin(bitfields!(
7717 		uint, "submenuPlacement", 1,
7718 		uint, "", 31
7719 	));
7720 	/** */
7721 	extern(C) void function(GtkMenuShell* menuShell) deactivate;
7722 	/** */
7723 	extern(C) void function(GtkMenuShell* menuShell) selectionDone;
7724 	/** */
7725 	extern(C) void function(GtkMenuShell* menuShell, GtkMenuDirectionType direction) moveCurrent;
7726 	/** */
7727 	extern(C) void function(GtkMenuShell* menuShell, int forceHide) activateCurrent;
7728 	/** */
7729 	extern(C) void function(GtkMenuShell* menuShell) cancel;
7730 	/** */
7731 	extern(C) void function(GtkMenuShell* menuShell, GtkWidget* menuItem) selectItem;
7732 	/** */
7733 	extern(C) void function(GtkMenuShell* menuShell, GtkWidget* child, int position) insert;
7734 	/** */
7735 	extern(C) int function(GtkMenuShell* menuShell) getPopupDelay;
7736 	/** */
7737 	extern(C) int function(GtkMenuShell* menuShell, int distance) moveSelected;
7738 	/** */
7739 	extern(C) void function() GtkReserved1;
7740 	/** */
7741 	extern(C) void function() GtkReserved2;
7742 	/** */
7743 	extern(C) void function() GtkReserved3;
7744 	/** */
7745 	extern(C) void function() GtkReserved4;
7746 }
7747 
7748 struct GtkMenuShellPrivate;
7749 
7750 struct GtkMenuToolButton
7751 {
7752 	GtkToolButton parent;
7753 	GtkMenuToolButtonPrivate* priv;
7754 }
7755 
7756 struct GtkMenuToolButtonClass
7757 {
7758 	/**
7759 	 * The parent class.
7760 	 */
7761 	GtkToolButtonClass parentClass;
7762 	/** */
7763 	extern(C) void function(GtkMenuToolButton* button) showMenu;
7764 	/** */
7765 	extern(C) void function() GtkReserved1;
7766 	/** */
7767 	extern(C) void function() GtkReserved2;
7768 	/** */
7769 	extern(C) void function() GtkReserved3;
7770 	/** */
7771 	extern(C) void function() GtkReserved4;
7772 }
7773 
7774 struct GtkMenuToolButtonPrivate;
7775 
7776 struct GtkMessageDialog
7777 {
7778 	GtkDialog parentInstance;
7779 	GtkMessageDialogPrivate* priv;
7780 }
7781 
7782 struct GtkMessageDialogClass
7783 {
7784 	GtkDialogClass parentClass;
7785 	/** */
7786 	extern(C) void function() GtkReserved1;
7787 	/** */
7788 	extern(C) void function() GtkReserved2;
7789 	/** */
7790 	extern(C) void function() GtkReserved3;
7791 	/** */
7792 	extern(C) void function() GtkReserved4;
7793 }
7794 
7795 struct GtkMessageDialogPrivate;
7796 
7797 struct GtkMisc
7798 {
7799 	GtkWidget widget;
7800 	GtkMiscPrivate* priv;
7801 }
7802 
7803 struct GtkMiscClass
7804 {
7805 	GtkWidgetClass parentClass;
7806 	/** */
7807 	extern(C) void function() GtkReserved1;
7808 	/** */
7809 	extern(C) void function() GtkReserved2;
7810 	/** */
7811 	extern(C) void function() GtkReserved3;
7812 	/** */
7813 	extern(C) void function() GtkReserved4;
7814 }
7815 
7816 struct GtkMiscPrivate;
7817 
7818 struct GtkModelButton;
7819 
7820 struct GtkMountOperation
7821 {
7822 	GMountOperation parentInstance;
7823 	GtkMountOperationPrivate* priv;
7824 }
7825 
7826 struct GtkMountOperationClass
7827 {
7828 	/**
7829 	 * The parent class.
7830 	 */
7831 	GMountOperationClass parentClass;
7832 	/** */
7833 	extern(C) void function() GtkReserved1;
7834 	/** */
7835 	extern(C) void function() GtkReserved2;
7836 	/** */
7837 	extern(C) void function() GtkReserved3;
7838 	/** */
7839 	extern(C) void function() GtkReserved4;
7840 }
7841 
7842 struct GtkMountOperationPrivate;
7843 
7844 struct GtkNativeDialog
7845 {
7846 	GObject parentInstance;
7847 }
7848 
7849 struct GtkNativeDialogClass
7850 {
7851 	GObjectClass parentClass;
7852 	/** */
7853 	extern(C) void function(GtkNativeDialog* self, int responseId) response;
7854 	/** */
7855 	extern(C) void function(GtkNativeDialog* self) show;
7856 	/** */
7857 	extern(C) void function(GtkNativeDialog* self) hide;
7858 	/** */
7859 	extern(C) void function() GtkReserved1;
7860 	/** */
7861 	extern(C) void function() GtkReserved2;
7862 	/** */
7863 	extern(C) void function() GtkReserved3;
7864 	/** */
7865 	extern(C) void function() GtkReserved4;
7866 }
7867 
7868 struct GtkNotebook
7869 {
7870 	GtkContainer container;
7871 	GtkNotebookPrivate* priv;
7872 }
7873 
7874 struct GtkNotebookAccessible
7875 {
7876 	GtkContainerAccessible parent;
7877 	GtkNotebookAccessiblePrivate* priv;
7878 }
7879 
7880 struct GtkNotebookAccessibleClass
7881 {
7882 	GtkContainerAccessibleClass parentClass;
7883 }
7884 
7885 struct GtkNotebookAccessiblePrivate;
7886 
7887 struct GtkNotebookClass
7888 {
7889 	GtkContainerClass parentClass;
7890 	/** */
7891 	extern(C) void function(GtkNotebook* notebook, GtkWidget* page, uint pageNum) switchPage;
7892 	/** */
7893 	extern(C) int function(GtkNotebook* notebook, int moveFocus) selectPage;
7894 	/** */
7895 	extern(C) int function(GtkNotebook* notebook, GtkNotebookTab type) focusTab;
7896 	/** */
7897 	extern(C) int function(GtkNotebook* notebook, int offset) changeCurrentPage;
7898 	/** */
7899 	extern(C) void function(GtkNotebook* notebook, GtkDirectionType direction) moveFocusOut;
7900 	/** */
7901 	extern(C) int function(GtkNotebook* notebook, GtkDirectionType direction, int moveToLast) reorderTab;
7902 	/** */
7903 	extern(C) int function(GtkNotebook* notebook, GtkWidget* child, GtkWidget* tabLabel, GtkWidget* menuLabel, int position) insertPage;
7904 	/** */
7905 	extern(C) GtkNotebook* function(GtkNotebook* notebook, GtkWidget* page, int x, int y) createWindow;
7906 	/** */
7907 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageReordered;
7908 	/** */
7909 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageRemoved;
7910 	/** */
7911 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageAdded;
7912 	/** */
7913 	extern(C) void function() GtkReserved1;
7914 	/** */
7915 	extern(C) void function() GtkReserved2;
7916 	/** */
7917 	extern(C) void function() GtkReserved3;
7918 	/** */
7919 	extern(C) void function() GtkReserved4;
7920 	/** */
7921 	extern(C) void function() GtkReserved5;
7922 	/** */
7923 	extern(C) void function() GtkReserved6;
7924 	/** */
7925 	extern(C) void function() GtkReserved7;
7926 	/** */
7927 	extern(C) void function() GtkReserved8;
7928 }
7929 
7930 struct GtkNotebookPageAccessible
7931 {
7932 	AtkObject parent;
7933 	GtkNotebookPageAccessiblePrivate* priv;
7934 }
7935 
7936 struct GtkNotebookPageAccessibleClass
7937 {
7938 	AtkObjectClass parentClass;
7939 }
7940 
7941 struct GtkNotebookPageAccessiblePrivate;
7942 
7943 struct GtkNotebookPrivate;
7944 
7945 struct GtkNumerableIcon
7946 {
7947 	GEmblemedIcon parent;
7948 	GtkNumerableIconPrivate* priv;
7949 }
7950 
7951 struct GtkNumerableIconClass
7952 {
7953 	GEmblemedIconClass parentClass;
7954 	void*[16] padding;
7955 }
7956 
7957 struct GtkNumerableIconPrivate;
7958 
7959 struct GtkOffscreenWindow
7960 {
7961 	GtkWindow parentObject;
7962 }
7963 
7964 struct GtkOffscreenWindowClass
7965 {
7966 	/**
7967 	 * The parent class.
7968 	 */
7969 	GtkWindowClass parentClass;
7970 	/** */
7971 	extern(C) void function() GtkReserved1;
7972 	/** */
7973 	extern(C) void function() GtkReserved2;
7974 	/** */
7975 	extern(C) void function() GtkReserved3;
7976 	/** */
7977 	extern(C) void function() GtkReserved4;
7978 }
7979 
7980 struct GtkOrientable;
7981 
7982 struct GtkOrientableIface
7983 {
7984 	GTypeInterface baseIface;
7985 }
7986 
7987 struct GtkOverlay
7988 {
7989 	GtkBin parent;
7990 	GtkOverlayPrivate* priv;
7991 }
7992 
7993 struct GtkOverlayClass
7994 {
7995 	/**
7996 	 * The parent class.
7997 	 */
7998 	GtkBinClass parentClass;
7999 	/** */
8000 	extern(C) int function(GtkOverlay* overlay, GtkWidget* widget, GtkAllocation* allocation) getChildPosition;
8001 	/** */
8002 	extern(C) void function() GtkReserved1;
8003 	/** */
8004 	extern(C) void function() GtkReserved2;
8005 	/** */
8006 	extern(C) void function() GtkReserved3;
8007 	/** */
8008 	extern(C) void function() GtkReserved4;
8009 	/** */
8010 	extern(C) void function() GtkReserved5;
8011 	/** */
8012 	extern(C) void function() GtkReserved6;
8013 	/** */
8014 	extern(C) void function() GtkReserved7;
8015 	/** */
8016 	extern(C) void function() GtkReserved8;
8017 }
8018 
8019 struct GtkOverlayPrivate;
8020 
8021 /**
8022  * Struct defining a pad action entry.
8023  */
8024 struct GtkPadActionEntry
8025 {
8026 	/**
8027 	 * the type of pad feature that will trigger this action entry.
8028 	 */
8029 	GtkPadActionType type;
8030 	/**
8031 	 * the 0-indexed button/ring/strip number that will trigger this action
8032 	 * entry.
8033 	 */
8034 	int index;
8035 	/**
8036 	 * the mode that will trigger this action entry, or -1 for all modes.
8037 	 */
8038 	int mode;
8039 	/**
8040 	 * Human readable description of this action entry, this string should
8041 	 * be deemed user-visible.
8042 	 */
8043 	char* label;
8044 	/**
8045 	 * action name that will be activated in the #GActionGroup.
8046 	 */
8047 	char* actionName;
8048 }
8049 
8050 struct GtkPadController;
8051 
8052 struct GtkPadControllerClass;
8053 
8054 /**
8055  * See also gtk_print_settings_set_page_ranges().
8056  */
8057 struct GtkPageRange
8058 {
8059 	/**
8060 	 * start of page range.
8061 	 */
8062 	int start;
8063 	/**
8064 	 * end of page range.
8065 	 */
8066 	int end;
8067 }
8068 
8069 struct GtkPageSetup;
8070 
8071 struct GtkPaned
8072 {
8073 	GtkContainer container;
8074 	GtkPanedPrivate* priv;
8075 }
8076 
8077 struct GtkPanedAccessible
8078 {
8079 	GtkContainerAccessible parent;
8080 	GtkPanedAccessiblePrivate* priv;
8081 }
8082 
8083 struct GtkPanedAccessibleClass
8084 {
8085 	GtkContainerAccessibleClass parentClass;
8086 }
8087 
8088 struct GtkPanedAccessiblePrivate;
8089 
8090 struct GtkPanedClass
8091 {
8092 	GtkContainerClass parentClass;
8093 	/** */
8094 	extern(C) int function(GtkPaned* paned, int reverse) cycleChildFocus;
8095 	/** */
8096 	extern(C) int function(GtkPaned* paned) toggleHandleFocus;
8097 	/** */
8098 	extern(C) int function(GtkPaned* paned, GtkScrollType scroll) moveHandle;
8099 	/** */
8100 	extern(C) int function(GtkPaned* paned, int reverse) cycleHandleFocus;
8101 	/** */
8102 	extern(C) int function(GtkPaned* paned) acceptPosition;
8103 	/** */
8104 	extern(C) int function(GtkPaned* paned) cancelPosition;
8105 	/** */
8106 	extern(C) void function() GtkReserved1;
8107 	/** */
8108 	extern(C) void function() GtkReserved2;
8109 	/** */
8110 	extern(C) void function() GtkReserved3;
8111 	/** */
8112 	extern(C) void function() GtkReserved4;
8113 }
8114 
8115 struct GtkPanedPrivate;
8116 
8117 struct GtkPaperSize;
8118 
8119 struct GtkPlacesSidebar;
8120 
8121 struct GtkPlacesSidebarClass;
8122 
8123 struct GtkPlug
8124 {
8125 	GtkWindow window;
8126 	GtkPlugPrivate* priv;
8127 }
8128 
8129 struct GtkPlugClass
8130 {
8131 	GtkWindowClass parentClass;
8132 	/** */
8133 	extern(C) void function(GtkPlug* plug) embedded;
8134 	/** */
8135 	extern(C) void function() GtkReserved1;
8136 	/** */
8137 	extern(C) void function() GtkReserved2;
8138 	/** */
8139 	extern(C) void function() GtkReserved3;
8140 	/** */
8141 	extern(C) void function() GtkReserved4;
8142 }
8143 
8144 struct GtkPlugPrivate;
8145 
8146 struct GtkPopover
8147 {
8148 	GtkBin parentInstance;
8149 	GtkPopoverPrivate* priv;
8150 }
8151 
8152 struct GtkPopoverAccessible
8153 {
8154 	GtkContainerAccessible parent;
8155 }
8156 
8157 struct GtkPopoverAccessibleClass
8158 {
8159 	GtkContainerAccessibleClass parentClass;
8160 }
8161 
8162 struct GtkPopoverClass
8163 {
8164 	GtkBinClass parentClass;
8165 	/** */
8166 	extern(C) void function(GtkPopover* popover) closed;
8167 	void*[10] reserved;
8168 }
8169 
8170 struct GtkPopoverMenu;
8171 
8172 struct GtkPopoverMenuClass
8173 {
8174 	GtkPopoverClass parentClass;
8175 	void*[10] reserved;
8176 }
8177 
8178 struct GtkPopoverPrivate;
8179 
8180 struct GtkPrintContext;
8181 
8182 struct GtkPrintOperation
8183 {
8184 	GObject parentInstance;
8185 	GtkPrintOperationPrivate* priv;
8186 }
8187 
8188 struct GtkPrintOperationClass
8189 {
8190 	/**
8191 	 * The parent class.
8192 	 */
8193 	GObjectClass parentClass;
8194 	/** */
8195 	extern(C) void function(GtkPrintOperation* operation, GtkPrintOperationResult result) done;
8196 	/** */
8197 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) beginPrint;
8198 	/** */
8199 	extern(C) int function(GtkPrintOperation* operation, GtkPrintContext* context) paginate;
8200 	/** */
8201 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr, GtkPageSetup* setup) requestPageSetup;
8202 	/** */
8203 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr) drawPage;
8204 	/** */
8205 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) endPrint;
8206 	/** */
8207 	extern(C) void function(GtkPrintOperation* operation) statusChanged;
8208 	/** */
8209 	extern(C) GtkWidget* function(GtkPrintOperation* operation) createCustomWidget;
8210 	/** */
8211 	extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget) customWidgetApply;
8212 	/** */
8213 	extern(C) int function(GtkPrintOperation* operation, GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkWindow* parent) preview;
8214 	/** */
8215 	extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget, GtkPageSetup* setup, GtkPrintSettings* settings) updateCustomWidget;
8216 	/** */
8217 	extern(C) void function() GtkReserved1;
8218 	/** */
8219 	extern(C) void function() GtkReserved2;
8220 	/** */
8221 	extern(C) void function() GtkReserved3;
8222 	/** */
8223 	extern(C) void function() GtkReserved4;
8224 	/** */
8225 	extern(C) void function() GtkReserved5;
8226 	/** */
8227 	extern(C) void function() GtkReserved6;
8228 	/** */
8229 	extern(C) void function() GtkReserved7;
8230 	/** */
8231 	extern(C) void function() GtkReserved8;
8232 }
8233 
8234 struct GtkPrintOperationPreview;
8235 
8236 struct GtkPrintOperationPreviewIface
8237 {
8238 	GTypeInterface gIface;
8239 	/** */
8240 	extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context) ready;
8241 	/** */
8242 	extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkPageSetup* pageSetup) gotPageSize;
8243 	/** */
8244 	extern(C) void function(GtkPrintOperationPreview* preview, int pageNr) renderPage;
8245 	/**
8246 	 *
8247 	 * Params:
8248 	 *     preview = a #GtkPrintOperationPreview
8249 	 *     pageNr = a page number
8250 	 * Returns: %TRUE if the page has been selected for printing
8251 	 */
8252 	extern(C) int function(GtkPrintOperationPreview* preview, int pageNr) isSelected;
8253 	/** */
8254 	extern(C) void function(GtkPrintOperationPreview* preview) endPreview;
8255 	/** */
8256 	extern(C) void function() GtkReserved1;
8257 	/** */
8258 	extern(C) void function() GtkReserved2;
8259 	/** */
8260 	extern(C) void function() GtkReserved3;
8261 	/** */
8262 	extern(C) void function() GtkReserved4;
8263 	/** */
8264 	extern(C) void function() GtkReserved5;
8265 	/** */
8266 	extern(C) void function() GtkReserved6;
8267 	/** */
8268 	extern(C) void function() GtkReserved7;
8269 	/** */
8270 	extern(C) void function() GtkReserved8;
8271 }
8272 
8273 struct GtkPrintOperationPrivate;
8274 
8275 struct GtkPrintSettings;
8276 
8277 struct GtkProgressBar
8278 {
8279 	GtkWidget parent;
8280 	GtkProgressBarPrivate* priv;
8281 }
8282 
8283 struct GtkProgressBarAccessible
8284 {
8285 	GtkWidgetAccessible parent;
8286 	GtkProgressBarAccessiblePrivate* priv;
8287 }
8288 
8289 struct GtkProgressBarAccessibleClass
8290 {
8291 	GtkWidgetAccessibleClass parentClass;
8292 }
8293 
8294 struct GtkProgressBarAccessiblePrivate;
8295 
8296 struct GtkProgressBarClass
8297 {
8298 	GtkWidgetClass parentClass;
8299 	/** */
8300 	extern(C) void function() GtkReserved1;
8301 	/** */
8302 	extern(C) void function() GtkReserved2;
8303 	/** */
8304 	extern(C) void function() GtkReserved3;
8305 	/** */
8306 	extern(C) void function() GtkReserved4;
8307 }
8308 
8309 struct GtkProgressBarPrivate;
8310 
8311 struct GtkRadioAction
8312 {
8313 	GtkToggleAction parent;
8314 	GtkRadioActionPrivate* privateData;
8315 }
8316 
8317 struct GtkRadioActionClass
8318 {
8319 	GtkToggleActionClass parentClass;
8320 	/** */
8321 	extern(C) void function(GtkRadioAction* action, GtkRadioAction* current) changed;
8322 	/** */
8323 	extern(C) void function() GtkReserved1;
8324 	/** */
8325 	extern(C) void function() GtkReserved2;
8326 	/** */
8327 	extern(C) void function() GtkReserved3;
8328 	/** */
8329 	extern(C) void function() GtkReserved4;
8330 }
8331 
8332 /**
8333  * #GtkRadioActionEntry structs are used with
8334  * gtk_action_group_add_radio_actions() to construct groups of radio actions.
8335  */
8336 struct GtkRadioActionEntry
8337 {
8338 	/**
8339 	 * The name of the action.
8340 	 */
8341 	const(char)* name;
8342 	/**
8343 	 * The stock id for the action, or the name of an icon from the
8344 	 * icon theme.
8345 	 */
8346 	const(char)* stockId;
8347 	/**
8348 	 * The label for the action. This field should typically be marked
8349 	 * for translation, see gtk_action_group_set_translation_domain().
8350 	 */
8351 	const(char)* label;
8352 	/**
8353 	 * The accelerator for the action, in the format understood by
8354 	 * gtk_accelerator_parse().
8355 	 */
8356 	const(char)* accelerator;
8357 	/**
8358 	 * The tooltip for the action. This field should typically be
8359 	 * marked for translation, see gtk_action_group_set_translation_domain().
8360 	 */
8361 	const(char)* tooltip;
8362 	/**
8363 	 * The value to set on the radio action. See
8364 	 * gtk_radio_action_get_current_value().
8365 	 */
8366 	int value;
8367 }
8368 
8369 struct GtkRadioActionPrivate;
8370 
8371 struct GtkRadioButton
8372 {
8373 	GtkCheckButton checkButton;
8374 	GtkRadioButtonPrivate* priv;
8375 }
8376 
8377 struct GtkRadioButtonAccessible
8378 {
8379 	GtkToggleButtonAccessible parent;
8380 	GtkRadioButtonAccessiblePrivate* priv;
8381 }
8382 
8383 struct GtkRadioButtonAccessibleClass
8384 {
8385 	GtkToggleButtonAccessibleClass parentClass;
8386 }
8387 
8388 struct GtkRadioButtonAccessiblePrivate;
8389 
8390 struct GtkRadioButtonClass
8391 {
8392 	GtkCheckButtonClass parentClass;
8393 	/** */
8394 	extern(C) void function(GtkRadioButton* radioButton) groupChanged;
8395 	/** */
8396 	extern(C) void function() GtkReserved1;
8397 	/** */
8398 	extern(C) void function() GtkReserved2;
8399 	/** */
8400 	extern(C) void function() GtkReserved3;
8401 	/** */
8402 	extern(C) void function() GtkReserved4;
8403 }
8404 
8405 struct GtkRadioButtonPrivate;
8406 
8407 struct GtkRadioMenuItem
8408 {
8409 	GtkCheckMenuItem checkMenuItem;
8410 	GtkRadioMenuItemPrivate* priv;
8411 }
8412 
8413 struct GtkRadioMenuItemAccessible
8414 {
8415 	GtkCheckMenuItemAccessible parent;
8416 	GtkRadioMenuItemAccessiblePrivate* priv;
8417 }
8418 
8419 struct GtkRadioMenuItemAccessibleClass
8420 {
8421 	GtkCheckMenuItemAccessibleClass parentClass;
8422 }
8423 
8424 struct GtkRadioMenuItemAccessiblePrivate;
8425 
8426 struct GtkRadioMenuItemClass
8427 {
8428 	GtkCheckMenuItemClass parentClass;
8429 	/** */
8430 	extern(C) void function(GtkRadioMenuItem* radioMenuItem) groupChanged;
8431 	/** */
8432 	extern(C) void function() GtkReserved1;
8433 	/** */
8434 	extern(C) void function() GtkReserved2;
8435 	/** */
8436 	extern(C) void function() GtkReserved3;
8437 	/** */
8438 	extern(C) void function() GtkReserved4;
8439 }
8440 
8441 struct GtkRadioMenuItemPrivate;
8442 
8443 struct GtkRadioToolButton
8444 {
8445 	GtkToggleToolButton parent;
8446 }
8447 
8448 struct GtkRadioToolButtonClass
8449 {
8450 	GtkToggleToolButtonClass parentClass;
8451 	/** */
8452 	extern(C) void function() GtkReserved1;
8453 	/** */
8454 	extern(C) void function() GtkReserved2;
8455 	/** */
8456 	extern(C) void function() GtkReserved3;
8457 	/** */
8458 	extern(C) void function() GtkReserved4;
8459 }
8460 
8461 struct GtkRange
8462 {
8463 	GtkWidget widget;
8464 	GtkRangePrivate* priv;
8465 }
8466 
8467 struct GtkRangeAccessible
8468 {
8469 	GtkWidgetAccessible parent;
8470 	GtkRangeAccessiblePrivate* priv;
8471 }
8472 
8473 struct GtkRangeAccessibleClass
8474 {
8475 	GtkWidgetAccessibleClass parentClass;
8476 }
8477 
8478 struct GtkRangeAccessiblePrivate;
8479 
8480 struct GtkRangeClass
8481 {
8482 	GtkWidgetClass parentClass;
8483 	char* sliderDetail;
8484 	char* stepperDetail;
8485 	/** */
8486 	extern(C) void function(GtkRange* range) valueChanged;
8487 	/** */
8488 	extern(C) void function(GtkRange* range, double newValue) adjustBounds;
8489 	/** */
8490 	extern(C) void function(GtkRange* range, GtkScrollType scroll) moveSlider;
8491 	/** */
8492 	extern(C) void function(GtkRange* range, GtkBorder* border) getRangeBorder;
8493 	/** */
8494 	extern(C) int function(GtkRange* range, GtkScrollType scroll, double newValue) changeValue;
8495 	/** */
8496 	extern(C) void function(GtkRange* range, GtkOrientation orientation, int* minimum, int* natural) getRangeSizeRequest;
8497 	/** */
8498 	extern(C) void function() GtkReserved1;
8499 	/** */
8500 	extern(C) void function() GtkReserved2;
8501 	/** */
8502 	extern(C) void function() GtkReserved3;
8503 }
8504 
8505 struct GtkRangePrivate;
8506 
8507 struct GtkRcContext;
8508 
8509 /**
8510  * Deprecated
8511  */
8512 struct GtkRcProperty
8513 {
8514 	/**
8515 	 * quark-ified type identifier
8516 	 */
8517 	GQuark typeName;
8518 	/**
8519 	 * quark-ified property identifier like
8520 	 * “GtkScrollbar::spacing”
8521 	 */
8522 	GQuark propertyName;
8523 	/**
8524 	 * field similar to one found in #GtkSettingsValue
8525 	 */
8526 	char* origin;
8527 	/**
8528 	 * field similar to one found in #GtkSettingsValue
8529 	 */
8530 	GValue value;
8531 }
8532 
8533 struct GtkRcStyle
8534 {
8535 	GObject parentInstance;
8536 	/**
8537 	 * Name
8538 	 */
8539 	char* name;
8540 	/**
8541 	 * Pixmap name
8542 	 */
8543 	char*[5] bgPixmapName;
8544 	/**
8545 	 * A #PangoFontDescription
8546 	 */
8547 	PangoFontDescription* fontDesc;
8548 	/**
8549 	 * #GtkRcFlags
8550 	 */
8551 	GtkRcFlags[5] colorFlags;
8552 	/**
8553 	 * Foreground colors
8554 	 */
8555 	GdkColor[5] fg;
8556 	/**
8557 	 * Background colors
8558 	 */
8559 	GdkColor[5] bg;
8560 	/**
8561 	 * Text colors
8562 	 */
8563 	GdkColor[5] text;
8564 	/**
8565 	 * Base colors
8566 	 */
8567 	GdkColor[5] base;
8568 	/**
8569 	 * X thickness
8570 	 */
8571 	int xthickness;
8572 	/**
8573 	 * Y thickness
8574 	 */
8575 	int ythickness;
8576 	GArray* rcProperties;
8577 	GSList* rcStyleLists;
8578 	GSList* iconFactories;
8579 	import std.bitmanip: bitfields;
8580 	mixin(bitfields!(
8581 		uint, "engineSpecified", 1,
8582 		uint, "", 31
8583 	));
8584 }
8585 
8586 struct GtkRcStyleClass
8587 {
8588 	/**
8589 	 * The parent class.
8590 	 */
8591 	GObjectClass parentClass;
8592 	/** */
8593 	extern(C) GtkRcStyle* function(GtkRcStyle* rcStyle) createRcStyle;
8594 	/** */
8595 	extern(C) uint function(GtkRcStyle* rcStyle, GtkSettings* settings, GScanner* scanner) parse;
8596 	/** */
8597 	extern(C) void function(GtkRcStyle* dest, GtkRcStyle* src) merge;
8598 	/** */
8599 	extern(C) GtkStyle* function(GtkRcStyle* rcStyle) createStyle;
8600 	/** */
8601 	extern(C) void function() GtkReserved1;
8602 	/** */
8603 	extern(C) void function() GtkReserved2;
8604 	/** */
8605 	extern(C) void function() GtkReserved3;
8606 	/** */
8607 	extern(C) void function() GtkReserved4;
8608 }
8609 
8610 struct GtkRecentAction
8611 {
8612 	GtkAction parentInstance;
8613 	GtkRecentActionPrivate* priv;
8614 }
8615 
8616 struct GtkRecentActionClass
8617 {
8618 	GtkActionClass parentClass;
8619 	/** */
8620 	extern(C) void function() GtkReserved1;
8621 	/** */
8622 	extern(C) void function() GtkReserved2;
8623 	/** */
8624 	extern(C) void function() GtkReserved3;
8625 	/** */
8626 	extern(C) void function() GtkReserved4;
8627 }
8628 
8629 struct GtkRecentActionPrivate;
8630 
8631 struct GtkRecentChooser;
8632 
8633 struct GtkRecentChooserDialog
8634 {
8635 	GtkDialog parentInstance;
8636 	GtkRecentChooserDialogPrivate* priv;
8637 }
8638 
8639 struct GtkRecentChooserDialogClass
8640 {
8641 	GtkDialogClass parentClass;
8642 	/** */
8643 	extern(C) void function() GtkReserved1;
8644 	/** */
8645 	extern(C) void function() GtkReserved2;
8646 	/** */
8647 	extern(C) void function() GtkReserved3;
8648 	/** */
8649 	extern(C) void function() GtkReserved4;
8650 }
8651 
8652 struct GtkRecentChooserDialogPrivate;
8653 
8654 struct GtkRecentChooserIface
8655 {
8656 	GTypeInterface baseIface;
8657 	/**
8658 	 *
8659 	 * Params:
8660 	 *     chooser = a #GtkRecentChooser
8661 	 *     uri = a URI
8662 	 * Returns: %TRUE if the URI was found.
8663 	 *
8664 	 * Throws: GException on failure.
8665 	 */
8666 	extern(C) int function(GtkRecentChooser* chooser, const(char)* uri, GError** err) setCurrentUri;
8667 	/**
8668 	 *
8669 	 * Params:
8670 	 *     chooser = a #GtkRecentChooser
8671 	 * Returns: a newly allocated string holding a URI.
8672 	 */
8673 	extern(C) char* function(GtkRecentChooser* chooser) getCurrentUri;
8674 	/**
8675 	 *
8676 	 * Params:
8677 	 *     chooser = a #GtkRecentChooser
8678 	 *     uri = a URI
8679 	 * Returns: %TRUE if @uri was found.
8680 	 *
8681 	 * Throws: GException on failure.
8682 	 */
8683 	extern(C) int function(GtkRecentChooser* chooser, const(char)* uri, GError** err) selectUri;
8684 	/** */
8685 	extern(C) void function(GtkRecentChooser* chooser, const(char)* uri) unselectUri;
8686 	/** */
8687 	extern(C) void function(GtkRecentChooser* chooser) selectAll;
8688 	/** */
8689 	extern(C) void function(GtkRecentChooser* chooser) unselectAll;
8690 	/**
8691 	 *
8692 	 * Params:
8693 	 *     chooser = a #GtkRecentChooser
8694 	 * Returns: A newly allocated
8695 	 *     list of #GtkRecentInfo objects.  You should
8696 	 *     use gtk_recent_info_unref() on every item of the list, and then free
8697 	 *     the list itself using g_list_free().
8698 	 */
8699 	extern(C) GList* function(GtkRecentChooser* chooser) getItems;
8700 	/** */
8701 	extern(C) GtkRecentManager* function(GtkRecentChooser* chooser) getRecentManager;
8702 	/** */
8703 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentFilter* filter) addFilter;
8704 	/** */
8705 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentFilter* filter) removeFilter;
8706 	/**
8707 	 *
8708 	 * Params:
8709 	 *     chooser = a #GtkRecentChooser
8710 	 * Returns: A singly linked list
8711 	 *     of #GtkRecentFilter objects.  You
8712 	 *     should just free the returned list using g_slist_free().
8713 	 */
8714 	extern(C) GSList* function(GtkRecentChooser* chooser) listFilters;
8715 	/** */
8716 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentSortFunc sortFunc, void* sortData, GDestroyNotify dataDestroy) setSortFunc;
8717 	/** */
8718 	extern(C) void function(GtkRecentChooser* chooser) itemActivated;
8719 	/** */
8720 	extern(C) void function(GtkRecentChooser* chooser) selectionChanged;
8721 }
8722 
8723 struct GtkRecentChooserMenu
8724 {
8725 	GtkMenu parentInstance;
8726 	GtkRecentChooserMenuPrivate* priv;
8727 }
8728 
8729 struct GtkRecentChooserMenuClass
8730 {
8731 	GtkMenuClass parentClass;
8732 	/** */
8733 	extern(C) void function() gtkRecent1;
8734 	/** */
8735 	extern(C) void function() gtkRecent2;
8736 	/** */
8737 	extern(C) void function() gtkRecent3;
8738 	/** */
8739 	extern(C) void function() gtkRecent4;
8740 }
8741 
8742 struct GtkRecentChooserMenuPrivate;
8743 
8744 struct GtkRecentChooserWidget
8745 {
8746 	GtkBox parentInstance;
8747 	GtkRecentChooserWidgetPrivate* priv;
8748 }
8749 
8750 struct GtkRecentChooserWidgetClass
8751 {
8752 	GtkBoxClass parentClass;
8753 	/** */
8754 	extern(C) void function() GtkReserved1;
8755 	/** */
8756 	extern(C) void function() GtkReserved2;
8757 	/** */
8758 	extern(C) void function() GtkReserved3;
8759 	/** */
8760 	extern(C) void function() GtkReserved4;
8761 }
8762 
8763 struct GtkRecentChooserWidgetPrivate;
8764 
8765 /**
8766  * Meta-data to be passed to gtk_recent_manager_add_full() when
8767  * registering a recently used resource.
8768  */
8769 struct GtkRecentData
8770 {
8771 	/**
8772 	 * a UTF-8 encoded string, containing the name of the recently
8773 	 * used resource to be displayed, or %NULL;
8774 	 */
8775 	char* displayName;
8776 	/**
8777 	 * a UTF-8 encoded string, containing a short description of
8778 	 * the resource, or %NULL;
8779 	 */
8780 	char* description;
8781 	/**
8782 	 * the MIME type of the resource;
8783 	 */
8784 	char* mimeType;
8785 	/**
8786 	 * the name of the application that is registering this recently
8787 	 * used resource;
8788 	 */
8789 	char* appName;
8790 	/**
8791 	 * command line used to launch this resource; may contain the
8792 	 * “\%f” and “\%u” escape characters which will be expanded
8793 	 * to the resource file path and URI respectively when the command line
8794 	 * is retrieved;
8795 	 */
8796 	char* appExec;
8797 	/**
8798 	 * a vector of strings containing
8799 	 * groups names;
8800 	 */
8801 	char** groups;
8802 	/**
8803 	 * whether this resource should be displayed only by the
8804 	 * applications that have registered it or not.
8805 	 */
8806 	bool isPrivate;
8807 }
8808 
8809 struct GtkRecentFilter;
8810 
8811 /**
8812  * A GtkRecentFilterInfo struct is used
8813  * to pass information about the tested file to gtk_recent_filter_filter().
8814  */
8815 struct GtkRecentFilterInfo
8816 {
8817 	/**
8818 	 * #GtkRecentFilterFlags to indicate which fields are set.
8819 	 */
8820 	GtkRecentFilterFlags contains;
8821 	/**
8822 	 * The URI of the file being tested.
8823 	 */
8824 	const(char)* uri;
8825 	/**
8826 	 * The string that will be used to display
8827 	 * the file in the recent chooser.
8828 	 */
8829 	const(char)* displayName;
8830 	/**
8831 	 * MIME type of the file.
8832 	 */
8833 	const(char)* mimeType;
8834 	/**
8835 	 * The list of
8836 	 * applications that have registered the file.
8837 	 */
8838 	char** applications;
8839 	/**
8840 	 * The groups to which
8841 	 * the file belongs to.
8842 	 */
8843 	char** groups;
8844 	/**
8845 	 * The number of days elapsed since the file has been
8846 	 * registered.
8847 	 */
8848 	int age;
8849 }
8850 
8851 struct GtkRecentInfo;
8852 
8853 struct GtkRecentManager
8854 {
8855 	GObject parentInstance;
8856 	GtkRecentManagerPrivate* priv;
8857 }
8858 
8859 /**
8860  * #GtkRecentManagerClass contains only private data.
8861  *
8862  * Since: 2.10
8863  */
8864 struct GtkRecentManagerClass
8865 {
8866 	GObjectClass parentClass;
8867 	/** */
8868 	extern(C) void function(GtkRecentManager* manager) changed;
8869 	/** */
8870 	extern(C) void function() GtkRecent1;
8871 	/** */
8872 	extern(C) void function() GtkRecent2;
8873 	/** */
8874 	extern(C) void function() GtkRecent3;
8875 	/** */
8876 	extern(C) void function() GtkRecent4;
8877 }
8878 
8879 struct GtkRecentManagerPrivate;
8880 
8881 struct GtkRendererCellAccessible
8882 {
8883 	GtkCellAccessible parent;
8884 	GtkRendererCellAccessiblePrivate* priv;
8885 }
8886 
8887 struct GtkRendererCellAccessibleClass
8888 {
8889 	GtkCellAccessibleClass parentClass;
8890 }
8891 
8892 struct GtkRendererCellAccessiblePrivate;
8893 
8894 /**
8895  * Represents a request of a screen object in a given orientation. These
8896  * are primarily used in container implementations when allocating a natural
8897  * size for children calling. See gtk_distribute_natural_allocation().
8898  */
8899 struct GtkRequestedSize
8900 {
8901 	/**
8902 	 * A client pointer
8903 	 */
8904 	void* data;
8905 	/**
8906 	 * The minimum size needed for allocation in a given orientation
8907 	 */
8908 	int minimumSize;
8909 	/**
8910 	 * The natural size for allocation in a given orientation
8911 	 */
8912 	int naturalSize;
8913 }
8914 
8915 struct GtkRequisition
8916 {
8917 	/**
8918 	 * the widget’s desired width
8919 	 */
8920 	int width;
8921 	/**
8922 	 * the widget’s desired height
8923 	 */
8924 	int height;
8925 }
8926 
8927 struct GtkRevealer
8928 {
8929 	GtkBin parentInstance;
8930 }
8931 
8932 struct GtkRevealerClass
8933 {
8934 	/**
8935 	 * The parent class.
8936 	 */
8937 	GtkBinClass parentClass;
8938 }
8939 
8940 struct GtkScale
8941 {
8942 	GtkRange range;
8943 	GtkScalePrivate* priv;
8944 }
8945 
8946 struct GtkScaleAccessible
8947 {
8948 	GtkRangeAccessible parent;
8949 	GtkScaleAccessiblePrivate* priv;
8950 }
8951 
8952 struct GtkScaleAccessibleClass
8953 {
8954 	GtkRangeAccessibleClass parentClass;
8955 }
8956 
8957 struct GtkScaleAccessiblePrivate;
8958 
8959 struct GtkScaleButton
8960 {
8961 	GtkButton parent;
8962 	GtkScaleButtonPrivate* priv;
8963 }
8964 
8965 struct GtkScaleButtonAccessible
8966 {
8967 	GtkButtonAccessible parent;
8968 	GtkScaleButtonAccessiblePrivate* priv;
8969 }
8970 
8971 struct GtkScaleButtonAccessibleClass
8972 {
8973 	GtkButtonAccessibleClass parentClass;
8974 }
8975 
8976 struct GtkScaleButtonAccessiblePrivate;
8977 
8978 struct GtkScaleButtonClass
8979 {
8980 	GtkButtonClass parentClass;
8981 	/** */
8982 	extern(C) void function(GtkScaleButton* button, double value) valueChanged;
8983 	/** */
8984 	extern(C) void function() GtkReserved1;
8985 	/** */
8986 	extern(C) void function() GtkReserved2;
8987 	/** */
8988 	extern(C) void function() GtkReserved3;
8989 	/** */
8990 	extern(C) void function() GtkReserved4;
8991 }
8992 
8993 struct GtkScaleButtonPrivate;
8994 
8995 struct GtkScaleClass
8996 {
8997 	GtkRangeClass parentClass;
8998 	/** */
8999 	extern(C) char* function(GtkScale* scale, double value) formatValue;
9000 	/** */
9001 	extern(C) void function(GtkScale* scale) drawValue;
9002 	/** */
9003 	extern(C) void function(GtkScale* scale, int* x, int* y) getLayoutOffsets;
9004 	/** */
9005 	extern(C) void function() GtkReserved1;
9006 	/** */
9007 	extern(C) void function() GtkReserved2;
9008 	/** */
9009 	extern(C) void function() GtkReserved3;
9010 	/** */
9011 	extern(C) void function() GtkReserved4;
9012 }
9013 
9014 struct GtkScalePrivate;
9015 
9016 struct GtkScrollable;
9017 
9018 struct GtkScrollableInterface
9019 {
9020 	GTypeInterface baseIface;
9021 	/**
9022 	 *
9023 	 * Params:
9024 	 *     scrollable = a #GtkScrollable
9025 	 *     border = return location for the results
9026 	 * Returns: %TRUE if @border has been set
9027 	 */
9028 	extern(C) int function(GtkScrollable* scrollable, GtkBorder* border) getBorder;
9029 }
9030 
9031 struct GtkScrollbar
9032 {
9033 	GtkRange range;
9034 }
9035 
9036 struct GtkScrollbarClass
9037 {
9038 	GtkRangeClass parentClass;
9039 	/** */
9040 	extern(C) void function() GtkReserved1;
9041 	/** */
9042 	extern(C) void function() GtkReserved2;
9043 	/** */
9044 	extern(C) void function() GtkReserved3;
9045 	/** */
9046 	extern(C) void function() GtkReserved4;
9047 }
9048 
9049 struct GtkScrolledWindow
9050 {
9051 	GtkBin container;
9052 	GtkScrolledWindowPrivate* priv;
9053 }
9054 
9055 struct GtkScrolledWindowAccessible
9056 {
9057 	GtkContainerAccessible parent;
9058 	GtkScrolledWindowAccessiblePrivate* priv;
9059 }
9060 
9061 struct GtkScrolledWindowAccessibleClass
9062 {
9063 	GtkContainerAccessibleClass parentClass;
9064 }
9065 
9066 struct GtkScrolledWindowAccessiblePrivate;
9067 
9068 struct GtkScrolledWindowClass
9069 {
9070 	/**
9071 	 * The parent class.
9072 	 */
9073 	GtkBinClass parentClass;
9074 	int scrollbarSpacing;
9075 	/** */
9076 	extern(C) int function(GtkScrolledWindow* scrolledWindow, GtkScrollType scroll, int horizontal) scrollChild;
9077 	/** */
9078 	extern(C) void function(GtkScrolledWindow* scrolledWindow, GtkDirectionType direction) moveFocusOut;
9079 	/** */
9080 	extern(C) void function() GtkReserved1;
9081 	/** */
9082 	extern(C) void function() GtkReserved2;
9083 	/** */
9084 	extern(C) void function() GtkReserved3;
9085 	/** */
9086 	extern(C) void function() GtkReserved4;
9087 }
9088 
9089 struct GtkScrolledWindowPrivate;
9090 
9091 struct GtkSearchBar
9092 {
9093 	GtkBin parent;
9094 }
9095 
9096 struct GtkSearchBarClass
9097 {
9098 	/**
9099 	 * The parent class.
9100 	 */
9101 	GtkBinClass parentClass;
9102 	/** */
9103 	extern(C) void function() GtkReserved1;
9104 	/** */
9105 	extern(C) void function() GtkReserved2;
9106 	/** */
9107 	extern(C) void function() GtkReserved3;
9108 	/** */
9109 	extern(C) void function() GtkReserved4;
9110 }
9111 
9112 struct GtkSearchEntry
9113 {
9114 	GtkEntry parent;
9115 }
9116 
9117 struct GtkSearchEntryClass
9118 {
9119 	GtkEntryClass parentClass;
9120 	/** */
9121 	extern(C) void function(GtkSearchEntry* entry) searchChanged;
9122 	/** */
9123 	extern(C) void function(GtkSearchEntry* entry) nextMatch;
9124 	/** */
9125 	extern(C) void function(GtkSearchEntry* entry) previousMatch;
9126 	/** */
9127 	extern(C) void function(GtkSearchEntry* entry) stopSearch;
9128 }
9129 
9130 struct GtkSelectionData;
9131 
9132 struct GtkSeparator
9133 {
9134 	GtkWidget widget;
9135 	GtkSeparatorPrivate* priv;
9136 }
9137 
9138 struct GtkSeparatorClass
9139 {
9140 	GtkWidgetClass parentClass;
9141 	/** */
9142 	extern(C) void function() GtkReserved1;
9143 	/** */
9144 	extern(C) void function() GtkReserved2;
9145 	/** */
9146 	extern(C) void function() GtkReserved3;
9147 	/** */
9148 	extern(C) void function() GtkReserved4;
9149 }
9150 
9151 struct GtkSeparatorMenuItem
9152 {
9153 	GtkMenuItem menuItem;
9154 }
9155 
9156 struct GtkSeparatorMenuItemClass
9157 {
9158 	/**
9159 	 * The parent class.
9160 	 */
9161 	GtkMenuItemClass parentClass;
9162 	/** */
9163 	extern(C) void function() GtkReserved1;
9164 	/** */
9165 	extern(C) void function() GtkReserved2;
9166 	/** */
9167 	extern(C) void function() GtkReserved3;
9168 	/** */
9169 	extern(C) void function() GtkReserved4;
9170 }
9171 
9172 struct GtkSeparatorPrivate;
9173 
9174 struct GtkSeparatorToolItem
9175 {
9176 	GtkToolItem parent;
9177 	GtkSeparatorToolItemPrivate* priv;
9178 }
9179 
9180 struct GtkSeparatorToolItemClass
9181 {
9182 	/**
9183 	 * The parent class.
9184 	 */
9185 	GtkToolItemClass parentClass;
9186 	/** */
9187 	extern(C) void function() GtkReserved1;
9188 	/** */
9189 	extern(C) void function() GtkReserved2;
9190 	/** */
9191 	extern(C) void function() GtkReserved3;
9192 	/** */
9193 	extern(C) void function() GtkReserved4;
9194 }
9195 
9196 struct GtkSeparatorToolItemPrivate;
9197 
9198 struct GtkSettings
9199 {
9200 	GObject parentInstance;
9201 	GtkSettingsPrivate* priv;
9202 }
9203 
9204 struct GtkSettingsClass
9205 {
9206 	GObjectClass parentClass;
9207 	/** */
9208 	extern(C) void function() GtkReserved1;
9209 	/** */
9210 	extern(C) void function() GtkReserved2;
9211 	/** */
9212 	extern(C) void function() GtkReserved3;
9213 	/** */
9214 	extern(C) void function() GtkReserved4;
9215 }
9216 
9217 struct GtkSettingsPrivate;
9218 
9219 struct GtkSettingsValue
9220 {
9221 	/**
9222 	 * Origin should be something like “filename:linenumber” for
9223 	 * rc files, or e.g. “XProperty” for other sources.
9224 	 */
9225 	char* origin;
9226 	/**
9227 	 * Valid types are LONG, DOUBLE and STRING corresponding to
9228 	 * the token parsed, or a GSTRING holding an unparsed statement
9229 	 */
9230 	GValue value;
9231 }
9232 
9233 struct GtkShortcutLabel;
9234 
9235 struct GtkShortcutLabelClass;
9236 
9237 struct GtkShortcutsGroup;
9238 
9239 struct GtkShortcutsGroupClass;
9240 
9241 struct GtkShortcutsSection;
9242 
9243 struct GtkShortcutsSectionClass;
9244 
9245 struct GtkShortcutsShortcut;
9246 
9247 struct GtkShortcutsShortcutClass;
9248 
9249 struct GtkShortcutsWindow
9250 {
9251 	GtkWindow window;
9252 }
9253 
9254 struct GtkShortcutsWindowClass
9255 {
9256 	GtkWindowClass parentClass;
9257 	/** */
9258 	extern(C) void function(GtkShortcutsWindow* self) close;
9259 	/** */
9260 	extern(C) void function(GtkShortcutsWindow* self) search;
9261 }
9262 
9263 struct GtkSizeGroup
9264 {
9265 	GObject parentInstance;
9266 	GtkSizeGroupPrivate* priv;
9267 }
9268 
9269 struct GtkSizeGroupClass
9270 {
9271 	GObjectClass parentClass;
9272 	/** */
9273 	extern(C) void function() GtkReserved1;
9274 	/** */
9275 	extern(C) void function() GtkReserved2;
9276 	/** */
9277 	extern(C) void function() GtkReserved3;
9278 	/** */
9279 	extern(C) void function() GtkReserved4;
9280 }
9281 
9282 struct GtkSizeGroupPrivate;
9283 
9284 struct GtkSocket
9285 {
9286 	GtkContainer container;
9287 	GtkSocketPrivate* priv;
9288 }
9289 
9290 struct GtkSocketClass
9291 {
9292 	GtkContainerClass parentClass;
9293 	/** */
9294 	extern(C) void function(GtkSocket* socket) plugAdded;
9295 	/** */
9296 	extern(C) int function(GtkSocket* socket) plugRemoved;
9297 	/** */
9298 	extern(C) void function() GtkReserved1;
9299 	/** */
9300 	extern(C) void function() GtkReserved2;
9301 	/** */
9302 	extern(C) void function() GtkReserved3;
9303 	/** */
9304 	extern(C) void function() GtkReserved4;
9305 }
9306 
9307 struct GtkSocketPrivate;
9308 
9309 struct GtkSpinButton
9310 {
9311 	GtkEntry entry;
9312 	GtkSpinButtonPrivate* priv;
9313 }
9314 
9315 struct GtkSpinButtonAccessible
9316 {
9317 	GtkEntryAccessible parent;
9318 	GtkSpinButtonAccessiblePrivate* priv;
9319 }
9320 
9321 struct GtkSpinButtonAccessibleClass
9322 {
9323 	GtkEntryAccessibleClass parentClass;
9324 }
9325 
9326 struct GtkSpinButtonAccessiblePrivate;
9327 
9328 struct GtkSpinButtonClass
9329 {
9330 	GtkEntryClass parentClass;
9331 	/** */
9332 	extern(C) int function(GtkSpinButton* spinButton, double* newValue) input;
9333 	/** */
9334 	extern(C) int function(GtkSpinButton* spinButton) output;
9335 	/** */
9336 	extern(C) void function(GtkSpinButton* spinButton) valueChanged;
9337 	/** */
9338 	extern(C) void function(GtkSpinButton* spinButton, GtkScrollType scroll) changeValue;
9339 	/** */
9340 	extern(C) void function(GtkSpinButton* spinButton) wrapped;
9341 	/** */
9342 	extern(C) void function() GtkReserved1;
9343 	/** */
9344 	extern(C) void function() GtkReserved2;
9345 	/** */
9346 	extern(C) void function() GtkReserved3;
9347 	/** */
9348 	extern(C) void function() GtkReserved4;
9349 }
9350 
9351 struct GtkSpinButtonPrivate;
9352 
9353 struct GtkSpinner
9354 {
9355 	GtkWidget parent;
9356 	GtkSpinnerPrivate* priv;
9357 }
9358 
9359 struct GtkSpinnerAccessible
9360 {
9361 	GtkWidgetAccessible parent;
9362 	GtkSpinnerAccessiblePrivate* priv;
9363 }
9364 
9365 struct GtkSpinnerAccessibleClass
9366 {
9367 	GtkWidgetAccessibleClass parentClass;
9368 }
9369 
9370 struct GtkSpinnerAccessiblePrivate;
9371 
9372 struct GtkSpinnerClass
9373 {
9374 	GtkWidgetClass parentClass;
9375 	/** */
9376 	extern(C) void function() GtkReserved1;
9377 	/** */
9378 	extern(C) void function() GtkReserved2;
9379 	/** */
9380 	extern(C) void function() GtkReserved3;
9381 	/** */
9382 	extern(C) void function() GtkReserved4;
9383 }
9384 
9385 struct GtkSpinnerPrivate;
9386 
9387 struct GtkStack
9388 {
9389 	GtkContainer parentInstance;
9390 }
9391 
9392 struct GtkStackAccessible
9393 {
9394 	GtkContainerAccessible parent;
9395 }
9396 
9397 struct GtkStackAccessibleClass
9398 {
9399 	GtkContainerAccessibleClass parentClass;
9400 }
9401 
9402 struct GtkStackClass
9403 {
9404 	GtkContainerClass parentClass;
9405 }
9406 
9407 struct GtkStackSidebar
9408 {
9409 	GtkBin parent;
9410 }
9411 
9412 struct GtkStackSidebarClass
9413 {
9414 	GtkBinClass parentClass;
9415 	/** */
9416 	extern(C) void function() GtkReserved1;
9417 	/** */
9418 	extern(C) void function() GtkReserved2;
9419 	/** */
9420 	extern(C) void function() GtkReserved3;
9421 	/** */
9422 	extern(C) void function() GtkReserved4;
9423 }
9424 
9425 struct GtkStackSidebarPrivate;
9426 
9427 struct GtkStackSwitcher
9428 {
9429 	GtkBox widget;
9430 }
9431 
9432 struct GtkStackSwitcherClass
9433 {
9434 	GtkBoxClass parentClass;
9435 	/** */
9436 	extern(C) void function() GtkReserved1;
9437 	/** */
9438 	extern(C) void function() GtkReserved2;
9439 	/** */
9440 	extern(C) void function() GtkReserved3;
9441 	/** */
9442 	extern(C) void function() GtkReserved4;
9443 }
9444 
9445 struct GtkStatusIcon
9446 {
9447 	GObject parentInstance;
9448 	GtkStatusIconPrivate* priv;
9449 }
9450 
9451 struct GtkStatusIconClass
9452 {
9453 	GObjectClass parentClass;
9454 	/** */
9455 	extern(C) void function(GtkStatusIcon* statusIcon) activate;
9456 	/** */
9457 	extern(C) void function(GtkStatusIcon* statusIcon, uint button, uint activateTime) popupMenu;
9458 	/** */
9459 	extern(C) int function(GtkStatusIcon* statusIcon, int size) sizeChanged;
9460 	/** */
9461 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventButton* event) buttonPressEvent;
9462 	/** */
9463 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventButton* event) buttonReleaseEvent;
9464 	/** */
9465 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventScroll* event) scrollEvent;
9466 	/** */
9467 	extern(C) int function(GtkStatusIcon* statusIcon, int x, int y, int keyboardMode, GtkTooltip* tooltip) queryTooltip;
9468 	/** */
9469 	extern(C) void function() GtkReserved1;
9470 	/** */
9471 	extern(C) void function() GtkReserved2;
9472 	/** */
9473 	extern(C) void function() GtkReserved3;
9474 	/** */
9475 	extern(C) void function() GtkReserved4;
9476 }
9477 
9478 struct GtkStatusIconPrivate;
9479 
9480 struct GtkStatusbar
9481 {
9482 	GtkBox parentWidget;
9483 	GtkStatusbarPrivate* priv;
9484 }
9485 
9486 struct GtkStatusbarAccessible
9487 {
9488 	GtkContainerAccessible parent;
9489 	GtkStatusbarAccessiblePrivate* priv;
9490 }
9491 
9492 struct GtkStatusbarAccessibleClass
9493 {
9494 	GtkContainerAccessibleClass parentClass;
9495 }
9496 
9497 struct GtkStatusbarAccessiblePrivate;
9498 
9499 struct GtkStatusbarClass
9500 {
9501 	GtkBoxClass parentClass;
9502 	void* reserved;
9503 	/** */
9504 	extern(C) void function(GtkStatusbar* statusbar, uint contextId, const(char)* text) textPushed;
9505 	/** */
9506 	extern(C) void function(GtkStatusbar* statusbar, uint contextId, const(char)* text) textPopped;
9507 	/** */
9508 	extern(C) void function() GtkReserved1;
9509 	/** */
9510 	extern(C) void function() GtkReserved2;
9511 	/** */
9512 	extern(C) void function() GtkReserved3;
9513 	/** */
9514 	extern(C) void function() GtkReserved4;
9515 }
9516 
9517 struct GtkStatusbarPrivate;
9518 
9519 struct GtkStockItem
9520 {
9521 	/**
9522 	 * Identifier.
9523 	 */
9524 	char* stockId;
9525 	/**
9526 	 * User visible label.
9527 	 */
9528 	char* label;
9529 	/**
9530 	 * Modifier type for keyboard accelerator
9531 	 */
9532 	GdkModifierType modifier;
9533 	/**
9534 	 * Keyboard accelerator
9535 	 */
9536 	uint keyval;
9537 	/**
9538 	 * Translation domain of the menu or toolbar item
9539 	 */
9540 	char* translationDomain;
9541 }
9542 
9543 struct GtkStyle
9544 {
9545 	GObject parentInstance;
9546 	/**
9547 	 * Set of foreground #GdkColor
9548 	 */
9549 	GdkColor[5] fg;
9550 	/**
9551 	 * Set of background #GdkColor
9552 	 */
9553 	GdkColor[5] bg;
9554 	/**
9555 	 * Set of light #GdkColor
9556 	 */
9557 	GdkColor[5] light;
9558 	/**
9559 	 * Set of dark #GdkColor
9560 	 */
9561 	GdkColor[5] dark;
9562 	/**
9563 	 * Set of mid #GdkColor
9564 	 */
9565 	GdkColor[5] mid;
9566 	/**
9567 	 * Set of text #GdkColor
9568 	 */
9569 	GdkColor[5] text;
9570 	/**
9571 	 * Set of base #GdkColor
9572 	 */
9573 	GdkColor[5] base;
9574 	/**
9575 	 * Color halfway between text/base
9576 	 */
9577 	GdkColor[5] textAa;
9578 	/**
9579 	 * #GdkColor to use for black
9580 	 */
9581 	GdkColor black;
9582 	/**
9583 	 * #GdkColor to use for white
9584 	 */
9585 	GdkColor white;
9586 	/**
9587 	 * #PangoFontDescription
9588 	 */
9589 	PangoFontDescription* fontDesc;
9590 	/**
9591 	 * Thickness in X direction
9592 	 */
9593 	int xthickness;
9594 	/**
9595 	 * Thickness in Y direction
9596 	 */
9597 	int ythickness;
9598 	/**
9599 	 * Set of background #cairo_pattern_t
9600 	 */
9601 	cairo_pattern_t*[5] background;
9602 	int attachCount;
9603 	GdkVisual* visual;
9604 	PangoFontDescription* privateFontDesc;
9605 	GtkRcStyle* rcStyle;
9606 	GSList* styles;
9607 	GArray* propertyCache;
9608 	GSList* iconFactories;
9609 }
9610 
9611 struct GtkStyleClass
9612 {
9613 	/**
9614 	 * The parent class.
9615 	 */
9616 	GObjectClass parentClass;
9617 	/** */
9618 	extern(C) void function(GtkStyle* style) realize;
9619 	/** */
9620 	extern(C) void function(GtkStyle* style) unrealize;
9621 	/** */
9622 	extern(C) void function(GtkStyle* style, GtkStyle* src) copy;
9623 	/** */
9624 	extern(C) GtkStyle* function(GtkStyle* style) clone;
9625 	/** */
9626 	extern(C) void function(GtkStyle* style, GtkRcStyle* rcStyle) initFromRc;
9627 	/** */
9628 	extern(C) void function(GtkStyle* style, GdkWindow* window, GtkStateType stateType) setBackground;
9629 	/**
9630 	 *
9631 	 * Params:
9632 	 *     style = a #GtkStyle
9633 	 *     source = the #GtkIconSource specifying the icon to render
9634 	 *     direction = a text direction
9635 	 *     state = a state
9636 	 *     size = the size to render the icon at (#GtkIconSize). A size of
9637 	 *         `(GtkIconSize)-1` means render at the size of the source and
9638 	 *         don’t scale.
9639 	 *     widget = the widget
9640 	 *     detail = a style detail
9641 	 * Returns: a newly-created #GdkPixbuf
9642 	 *     containing the rendered icon
9643 	 */
9644 	extern(C) GdkPixbuf* function(GtkStyle* style, GtkIconSource* source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget* widget, const(char)* detail) renderIcon;
9645 	/** */
9646 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x1, int x2, int y) drawHline;
9647 	/** */
9648 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int y1, int y2, int x) drawVline;
9649 	/** */
9650 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawShadow;
9651 	/** */
9652 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, GtkArrowType arrowType, int fill, int x, int y, int width, int height) drawArrow;
9653 	/** */
9654 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawDiamond;
9655 	/** */
9656 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawBox;
9657 	/** */
9658 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawFlatBox;
9659 	/** */
9660 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawCheck;
9661 	/** */
9662 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawOption;
9663 	/** */
9664 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawTab;
9665 	/** */
9666 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide, int gapX, int gapWidth) drawShadowGap;
9667 	/** */
9668 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide, int gapX, int gapWidth) drawBoxGap;
9669 	/** */
9670 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide) drawExtension;
9671 	/** */
9672 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawFocus;
9673 	/** */
9674 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkOrientation orientation) drawSlider;
9675 	/** */
9676 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkOrientation orientation) drawHandle;
9677 	/** */
9678 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x, int y, GtkExpanderStyle expanderStyle) drawExpander;
9679 	/** */
9680 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, int useText, GtkWidget* widget, const(char)* detail, int x, int y, PangoLayout* layout) drawLayout;
9681 	/** */
9682 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, GdkWindowEdge edge, int x, int y, int width, int height) drawResizeGrip;
9683 	/** */
9684 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, uint step, int x, int y, int width, int height) drawSpinner;
9685 	/** */
9686 	extern(C) void function() GtkReserved1;
9687 	/** */
9688 	extern(C) void function() GtkReserved2;
9689 	/** */
9690 	extern(C) void function() GtkReserved3;
9691 	/** */
9692 	extern(C) void function() GtkReserved4;
9693 	/** */
9694 	extern(C) void function() GtkReserved5;
9695 	/** */
9696 	extern(C) void function() GtkReserved6;
9697 	/** */
9698 	extern(C) void function() GtkReserved7;
9699 	/** */
9700 	extern(C) void function() GtkReserved8;
9701 	/** */
9702 	extern(C) void function() GtkReserved9;
9703 	/** */
9704 	extern(C) void function() GtkReserved10;
9705 	/** */
9706 	extern(C) void function() GtkReserved11;
9707 }
9708 
9709 struct GtkStyleContext
9710 {
9711 	GObject parentObject;
9712 	GtkStyleContextPrivate* priv;
9713 }
9714 
9715 struct GtkStyleContextClass
9716 {
9717 	GObjectClass parentClass;
9718 	/** */
9719 	extern(C) void function(GtkStyleContext* context) changed;
9720 	/** */
9721 	extern(C) void function() GtkReserved1;
9722 	/** */
9723 	extern(C) void function() GtkReserved2;
9724 	/** */
9725 	extern(C) void function() GtkReserved3;
9726 	/** */
9727 	extern(C) void function() GtkReserved4;
9728 }
9729 
9730 struct GtkStyleContextPrivate;
9731 
9732 struct GtkStyleProperties
9733 {
9734 	GObject parentObject;
9735 	GtkStylePropertiesPrivate* priv;
9736 }
9737 
9738 struct GtkStylePropertiesClass
9739 {
9740 	GObjectClass parentClass;
9741 	/** */
9742 	extern(C) void function() GtkReserved1;
9743 	/** */
9744 	extern(C) void function() GtkReserved2;
9745 	/** */
9746 	extern(C) void function() GtkReserved3;
9747 	/** */
9748 	extern(C) void function() GtkReserved4;
9749 }
9750 
9751 struct GtkStylePropertiesPrivate;
9752 
9753 struct GtkStyleProvider;
9754 
9755 struct GtkStyleProviderIface
9756 {
9757 	GTypeInterface gIface;
9758 	/**
9759 	 *
9760 	 * Params:
9761 	 *     provider = a #GtkStyleProvider
9762 	 *     path = #GtkWidgetPath to query
9763 	 * Returns: a #GtkStyleProperties containing the
9764 	 *     style settings affecting @path
9765 	 */
9766 	extern(C) GtkStyleProperties* function(GtkStyleProvider* provider, GtkWidgetPath* path) getStyle;
9767 	/**
9768 	 *
9769 	 * Params:
9770 	 *     provider = a #GtkStyleProvider
9771 	 *     path = #GtkWidgetPath to query
9772 	 *     state = state to query the style property for
9773 	 *     pspec = The #GParamSpec to query
9774 	 *     value = return location for the property value
9775 	 * Returns: %TRUE if the property was found and has a value, %FALSE otherwise
9776 	 */
9777 	extern(C) int function(GtkStyleProvider* provider, GtkWidgetPath* path, GtkStateFlags state, GParamSpec* pspec, GValue* value) getStyleProperty;
9778 	/**
9779 	 *
9780 	 * Params:
9781 	 *     provider = a #GtkStyleProvider
9782 	 *     path = #GtkWidgetPath to query
9783 	 * Returns: The icon factory to use for @path, or %NULL
9784 	 */
9785 	extern(C) GtkIconFactory* function(GtkStyleProvider* provider, GtkWidgetPath* path) getIconFactory;
9786 }
9787 
9788 struct GtkSwitch
9789 {
9790 	GtkWidget parentInstance;
9791 	GtkSwitchPrivate* priv;
9792 }
9793 
9794 struct GtkSwitchAccessible
9795 {
9796 	GtkWidgetAccessible parent;
9797 	GtkSwitchAccessiblePrivate* priv;
9798 }
9799 
9800 struct GtkSwitchAccessibleClass
9801 {
9802 	GtkWidgetAccessibleClass parentClass;
9803 }
9804 
9805 struct GtkSwitchAccessiblePrivate;
9806 
9807 struct GtkSwitchClass
9808 {
9809 	/**
9810 	 * The parent class.
9811 	 */
9812 	GtkWidgetClass parentClass;
9813 	/** */
9814 	extern(C) void function(GtkSwitch* sw) activate;
9815 	/** */
9816 	extern(C) int function(GtkSwitch* sw, int state) stateSet;
9817 	/** */
9818 	extern(C) void function() SwitchPadding1;
9819 	/** */
9820 	extern(C) void function() SwitchPadding2;
9821 	/** */
9822 	extern(C) void function() SwitchPadding3;
9823 	/** */
9824 	extern(C) void function() SwitchPadding4;
9825 	/** */
9826 	extern(C) void function() SwitchPadding5;
9827 }
9828 
9829 struct GtkSwitchPrivate;
9830 
9831 struct GtkSymbolicColor;
9832 
9833 struct GtkTable
9834 {
9835 	GtkContainer container;
9836 	GtkTablePrivate* priv;
9837 }
9838 
9839 struct GtkTableChild
9840 {
9841 	GtkWidget* widget;
9842 	ushort leftAttach;
9843 	ushort rightAttach;
9844 	ushort topAttach;
9845 	ushort bottomAttach;
9846 	ushort xpadding;
9847 	ushort ypadding;
9848 	import std.bitmanip: bitfields;
9849 	mixin(bitfields!(
9850 		uint, "xexpand", 1,
9851 		uint, "yexpand", 1,
9852 		uint, "xshrink", 1,
9853 		uint, "yshrink", 1,
9854 		uint, "xfill", 1,
9855 		uint, "yfill", 1,
9856 		uint, "", 26
9857 	));
9858 }
9859 
9860 struct GtkTableClass
9861 {
9862 	GtkContainerClass parentClass;
9863 	/** */
9864 	extern(C) void function() GtkReserved1;
9865 	/** */
9866 	extern(C) void function() GtkReserved2;
9867 	/** */
9868 	extern(C) void function() GtkReserved3;
9869 	/** */
9870 	extern(C) void function() GtkReserved4;
9871 }
9872 
9873 struct GtkTablePrivate;
9874 
9875 struct GtkTableRowCol
9876 {
9877 	ushort requisition;
9878 	ushort allocation;
9879 	ushort spacing;
9880 	import std.bitmanip: bitfields;
9881 	mixin(bitfields!(
9882 		uint, "needExpand", 1,
9883 		uint, "needShrink", 1,
9884 		uint, "expand", 1,
9885 		uint, "shrink", 1,
9886 		uint, "empty", 1,
9887 		uint, "", 27
9888 	));
9889 }
9890 
9891 struct GtkTargetEntry
9892 {
9893 	/**
9894 	 * a string representation of the target type
9895 	 */
9896 	char* target;
9897 	/**
9898 	 * #GtkTargetFlags for DND
9899 	 */
9900 	uint flags;
9901 	/**
9902 	 * an application-assigned integer ID which will
9903 	 * get passed as a parameter to e.g the #GtkWidget::selection-get
9904 	 * signal. It allows the application to identify the target
9905 	 * type without extensive string compares.
9906 	 */
9907 	uint info;
9908 }
9909 
9910 struct GtkTargetList;
9911 
9912 /**
9913  * A #GtkTargetPair is used to represent the same
9914  * information as a table of #GtkTargetEntry, but in
9915  * an efficient form.
9916  */
9917 struct GtkTargetPair
9918 {
9919 	/**
9920 	 * #GdkAtom representation of the target type
9921 	 */
9922 	GdkAtom target;
9923 	/**
9924 	 * #GtkTargetFlags for DND
9925 	 */
9926 	uint flags;
9927 	/**
9928 	 * an application-assigned integer ID which will
9929 	 * get passed as a parameter to e.g the #GtkWidget::selection-get
9930 	 * signal. It allows the application to identify the target
9931 	 * type without extensive string compares.
9932 	 */
9933 	uint info;
9934 }
9935 
9936 struct GtkTearoffMenuItem
9937 {
9938 	GtkMenuItem menuItem;
9939 	GtkTearoffMenuItemPrivate* priv;
9940 }
9941 
9942 struct GtkTearoffMenuItemClass
9943 {
9944 	/**
9945 	 * The parent class.
9946 	 */
9947 	GtkMenuItemClass parentClass;
9948 	/** */
9949 	extern(C) void function() GtkReserved1;
9950 	/** */
9951 	extern(C) void function() GtkReserved2;
9952 	/** */
9953 	extern(C) void function() GtkReserved3;
9954 	/** */
9955 	extern(C) void function() GtkReserved4;
9956 }
9957 
9958 struct GtkTearoffMenuItemPrivate;
9959 
9960 struct GtkTextAppearance
9961 {
9962 	/**
9963 	 * Background #GdkColor.
9964 	 */
9965 	GdkColor bgColor;
9966 	/**
9967 	 * Foreground #GdkColor.
9968 	 */
9969 	GdkColor fgColor;
9970 	/**
9971 	 * Super/subscript rise, can be negative.
9972 	 */
9973 	int rise;
9974 	import std.bitmanip: bitfields;
9975 	mixin(bitfields!(
9976 		uint, "underline", 4,
9977 		uint, "strikethrough", 1,
9978 		uint, "drawBg", 1,
9979 		uint, "insideSelection", 1,
9980 		uint, "isText", 1,
9981 		uint, "", 24
9982 	));
9983 	union
9984 	{
9985 		GdkRGBA*[2] rgba;
9986 		uint[4] padding;
9987 	}
9988 }
9989 
9990 struct GtkTextAttributes
9991 {
9992 	uint refcount;
9993 	/**
9994 	 * #GtkTextAppearance for text.
9995 	 */
9996 	GtkTextAppearance appearance;
9997 	/**
9998 	 * #GtkJustification for text.
9999 	 */
10000 	GtkJustification justification;
10001 	/**
10002 	 * #GtkTextDirection for text.
10003 	 */
10004 	GtkTextDirection direction;
10005 	/**
10006 	 * #PangoFontDescription for text.
10007 	 */
10008 	PangoFontDescription* font;
10009 	/**
10010 	 * Font scale factor.
10011 	 */
10012 	double fontScale;
10013 	/**
10014 	 * Width of the left margin in pixels.
10015 	 */
10016 	int leftMargin;
10017 	/**
10018 	 * Width of the right margin in pixels.
10019 	 */
10020 	int rightMargin;
10021 	/**
10022 	 * Amount to indent the paragraph, in pixels.
10023 	 */
10024 	int indent;
10025 	/**
10026 	 * Pixels of blank space above paragraphs.
10027 	 */
10028 	int pixelsAboveLines;
10029 	/**
10030 	 * Pixels of blank space below paragraphs.
10031 	 */
10032 	int pixelsBelowLines;
10033 	/**
10034 	 * Pixels of blank space between wrapped lines in
10035 	 * a paragraph.
10036 	 */
10037 	int pixelsInsideWrap;
10038 	/**
10039 	 * Custom #PangoTabArray for this text.
10040 	 */
10041 	PangoTabArray* tabs;
10042 	/**
10043 	 * #GtkWrapMode for text.
10044 	 */
10045 	GtkWrapMode wrapMode;
10046 	/**
10047 	 * #PangoLanguage for text.
10048 	 */
10049 	PangoLanguage* language;
10050 	GdkColor* pgBgColor;
10051 	import std.bitmanip: bitfields;
10052 	mixin(bitfields!(
10053 		uint, "invisible", 1,
10054 		uint, "bgFullHeight", 1,
10055 		uint, "editable", 1,
10056 		uint, "noFallback", 1,
10057 		uint, "", 28
10058 	));
10059 	GdkRGBA* pgBgRgba;
10060 	/**
10061 	 * Extra space to insert between graphemes, in Pango units
10062 	 */
10063 	int letterSpacing;
10064 	union
10065 	{
10066 		char* fontFeatures;
10067 		uint[2] padding;
10068 	}
10069 }
10070 
10071 struct GtkTextBTree;
10072 
10073 struct GtkTextBuffer
10074 {
10075 	GObject parentInstance;
10076 	GtkTextBufferPrivate* priv;
10077 }
10078 
10079 struct GtkTextBufferClass
10080 {
10081 	/**
10082 	 * The object class structure needs to be the first.
10083 	 */
10084 	GObjectClass parentClass;
10085 	/** */
10086 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* pos, const(char)* newText, int newTextLength) insertText;
10087 	/** */
10088 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GdkPixbuf* pixbuf) insertPixbuf;
10089 	/** */
10090 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GtkTextChildAnchor* anchor) insertChildAnchor;
10091 	/** */
10092 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* start, GtkTextIter* end) deleteRange;
10093 	/** */
10094 	extern(C) void function(GtkTextBuffer* buffer) changed;
10095 	/** */
10096 	extern(C) void function(GtkTextBuffer* buffer) modifiedChanged;
10097 	/** */
10098 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* location, GtkTextMark* mark) markSet;
10099 	/** */
10100 	extern(C) void function(GtkTextBuffer* buffer, GtkTextMark* mark) markDeleted;
10101 	/** */
10102 	extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) applyTag;
10103 	/** */
10104 	extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) removeTag;
10105 	/** */
10106 	extern(C) void function(GtkTextBuffer* buffer) beginUserAction;
10107 	/** */
10108 	extern(C) void function(GtkTextBuffer* buffer) endUserAction;
10109 	/** */
10110 	extern(C) void function(GtkTextBuffer* buffer, GtkClipboard* clipboard) pasteDone;
10111 	/** */
10112 	extern(C) void function() GtkReserved1;
10113 	/** */
10114 	extern(C) void function() GtkReserved2;
10115 	/** */
10116 	extern(C) void function() GtkReserved3;
10117 	/** */
10118 	extern(C) void function() GtkReserved4;
10119 }
10120 
10121 struct GtkTextBufferPrivate;
10122 
10123 struct GtkTextCellAccessible
10124 {
10125 	GtkRendererCellAccessible parent;
10126 	GtkTextCellAccessiblePrivate* priv;
10127 }
10128 
10129 struct GtkTextCellAccessibleClass
10130 {
10131 	GtkRendererCellAccessibleClass parentClass;
10132 }
10133 
10134 struct GtkTextCellAccessiblePrivate;
10135 
10136 struct GtkTextChildAnchor
10137 {
10138 	GObject parentInstance;
10139 	void* segment;
10140 }
10141 
10142 struct GtkTextChildAnchorClass
10143 {
10144 	GObjectClass parentClass;
10145 	/** */
10146 	extern(C) void function() GtkReserved1;
10147 	/** */
10148 	extern(C) void function() GtkReserved2;
10149 	/** */
10150 	extern(C) void function() GtkReserved3;
10151 	/** */
10152 	extern(C) void function() GtkReserved4;
10153 }
10154 
10155 struct GtkTextIter
10156 {
10157 	void* dummy1;
10158 	void* dummy2;
10159 	int dummy3;
10160 	int dummy4;
10161 	int dummy5;
10162 	int dummy6;
10163 	int dummy7;
10164 	int dummy8;
10165 	void* dummy9;
10166 	void* dummy10;
10167 	int dummy11;
10168 	int dummy12;
10169 	int dummy13;
10170 	void* dummy14;
10171 }
10172 
10173 struct GtkTextMark
10174 {
10175 	GObject parentInstance;
10176 	void* segment;
10177 }
10178 
10179 struct GtkTextMarkClass
10180 {
10181 	GObjectClass parentClass;
10182 	/** */
10183 	extern(C) void function() GtkReserved1;
10184 	/** */
10185 	extern(C) void function() GtkReserved2;
10186 	/** */
10187 	extern(C) void function() GtkReserved3;
10188 	/** */
10189 	extern(C) void function() GtkReserved4;
10190 }
10191 
10192 struct GtkTextTag
10193 {
10194 	GObject parentInstance;
10195 	GtkTextTagPrivate* priv;
10196 }
10197 
10198 struct GtkTextTagClass
10199 {
10200 	GObjectClass parentClass;
10201 	/**
10202 	 *
10203 	 * Params:
10204 	 *     tag = a #GtkTextTag
10205 	 *     eventObject = object that received the event, such as a widget
10206 	 *     event = the event
10207 	 *     iter = location where the event was received
10208 	 * Returns: result of signal emission (whether the event was handled)
10209 	 */
10210 	extern(C) int function(GtkTextTag* tag, GObject* eventObject, GdkEvent* event, GtkTextIter* iter) event;
10211 	/** */
10212 	extern(C) void function() GtkReserved1;
10213 	/** */
10214 	extern(C) void function() GtkReserved2;
10215 	/** */
10216 	extern(C) void function() GtkReserved3;
10217 	/** */
10218 	extern(C) void function() GtkReserved4;
10219 }
10220 
10221 struct GtkTextTagPrivate;
10222 
10223 struct GtkTextTagTable
10224 {
10225 	GObject parentInstance;
10226 	GtkTextTagTablePrivate* priv;
10227 }
10228 
10229 struct GtkTextTagTableClass
10230 {
10231 	GObjectClass parentClass;
10232 	/** */
10233 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag, int sizeChanged) tagChanged;
10234 	/** */
10235 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag) tagAdded;
10236 	/** */
10237 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag) tagRemoved;
10238 	/** */
10239 	extern(C) void function() GtkReserved1;
10240 	/** */
10241 	extern(C) void function() GtkReserved2;
10242 	/** */
10243 	extern(C) void function() GtkReserved3;
10244 	/** */
10245 	extern(C) void function() GtkReserved4;
10246 }
10247 
10248 struct GtkTextTagTablePrivate;
10249 
10250 struct GtkTextView
10251 {
10252 	GtkContainer parentInstance;
10253 	GtkTextViewPrivate* priv;
10254 }
10255 
10256 struct GtkTextViewAccessible
10257 {
10258 	GtkContainerAccessible parent;
10259 	GtkTextViewAccessiblePrivate* priv;
10260 }
10261 
10262 struct GtkTextViewAccessibleClass
10263 {
10264 	GtkContainerAccessibleClass parentClass;
10265 }
10266 
10267 struct GtkTextViewAccessiblePrivate;
10268 
10269 struct GtkTextViewClass
10270 {
10271 	/**
10272 	 * The object class structure needs to be the first
10273 	 */
10274 	GtkContainerClass parentClass;
10275 	/** */
10276 	extern(C) void function(GtkTextView* textView, GtkWidget* popup) populatePopup;
10277 	/** */
10278 	extern(C) void function(GtkTextView* textView, GtkMovementStep step, int count, int extendSelection) moveCursor;
10279 	/** */
10280 	extern(C) void function(GtkTextView* textView) setAnchor;
10281 	/** */
10282 	extern(C) void function(GtkTextView* textView, const(char)* str) insertAtCursor;
10283 	/** */
10284 	extern(C) void function(GtkTextView* textView, GtkDeleteType type, int count) deleteFromCursor;
10285 	/** */
10286 	extern(C) void function(GtkTextView* textView) backspace;
10287 	/** */
10288 	extern(C) void function(GtkTextView* textView) cutClipboard;
10289 	/** */
10290 	extern(C) void function(GtkTextView* textView) copyClipboard;
10291 	/** */
10292 	extern(C) void function(GtkTextView* textView) pasteClipboard;
10293 	/** */
10294 	extern(C) void function(GtkTextView* textView) toggleOverwrite;
10295 	/** */
10296 	extern(C) GtkTextBuffer* function(GtkTextView* textView) createBuffer;
10297 	/** */
10298 	extern(C) void function(GtkTextView* textView, GtkTextViewLayer layer, cairo_t* cr) drawLayer;
10299 	/** */
10300 	extern(C) int function(GtkTextView* textView, GtkTextExtendSelection granularity, GtkTextIter* location, GtkTextIter* start, GtkTextIter* end) extendSelection;
10301 	/** */
10302 	extern(C) void function(GtkTextView* textView) insertEmoji;
10303 	/** */
10304 	extern(C) void function() GtkReserved1;
10305 	/** */
10306 	extern(C) void function() GtkReserved2;
10307 	/** */
10308 	extern(C) void function() GtkReserved3;
10309 	/** */
10310 	extern(C) void function() GtkReserved4;
10311 }
10312 
10313 struct GtkTextViewPrivate;
10314 
10315 struct GtkThemeEngine;
10316 
10317 struct GtkThemingEngine
10318 {
10319 	GObject parentObject;
10320 	GtkThemingEnginePrivate* priv;
10321 }
10322 
10323 /**
10324  * Base class for theming engines.
10325  */
10326 struct GtkThemingEngineClass
10327 {
10328 	/**
10329 	 * The parent class.
10330 	 */
10331 	GObjectClass parentClass;
10332 	/** */
10333 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x0, double y0, double x1, double y1) renderLine;
10334 	/** */
10335 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderBackground;
10336 	/** */
10337 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderFrame;
10338 	/** */
10339 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkPositionType gapSide, double xy0Gap, double xy1Gap) renderFrameGap;
10340 	/** */
10341 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkPositionType gapSide) renderExtension;
10342 	/** */
10343 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderCheck;
10344 	/** */
10345 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderOption;
10346 	/** */
10347 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double angle, double x, double y, double size) renderArrow;
10348 	/** */
10349 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderExpander;
10350 	/** */
10351 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderFocus;
10352 	/** */
10353 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, PangoLayout* layout) renderLayout;
10354 	/** */
10355 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkOrientation orientation) renderSlider;
10356 	/** */
10357 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderHandle;
10358 	/** */
10359 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderActivity;
10360 	/** */
10361 	extern(C) GdkPixbuf* function(GtkThemingEngine* engine, GtkIconSource* source, GtkIconSize size) renderIconPixbuf;
10362 	/** */
10363 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, GdkPixbuf* pixbuf, double x, double y) renderIcon;
10364 	/** */
10365 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, cairo_surface_t* surface, double x, double y) renderIconSurface;
10366 	void*[14] padding;
10367 }
10368 
10369 struct GtkThemingEnginePrivate;
10370 
10371 struct GtkToggleAction
10372 {
10373 	GtkAction parent;
10374 	GtkToggleActionPrivate* privateData;
10375 }
10376 
10377 struct GtkToggleActionClass
10378 {
10379 	GtkActionClass parentClass;
10380 	/** */
10381 	extern(C) void function(GtkToggleAction* action) toggled;
10382 	/** */
10383 	extern(C) void function() GtkReserved1;
10384 	/** */
10385 	extern(C) void function() GtkReserved2;
10386 	/** */
10387 	extern(C) void function() GtkReserved3;
10388 	/** */
10389 	extern(C) void function() GtkReserved4;
10390 }
10391 
10392 /**
10393  * #GtkToggleActionEntry structs are used with
10394  * gtk_action_group_add_toggle_actions() to construct toggle actions.
10395  */
10396 struct GtkToggleActionEntry
10397 {
10398 	/**
10399 	 * The name of the action.
10400 	 */
10401 	const(char)* name;
10402 	/**
10403 	 * The stock id for the action, or the name of an icon from the
10404 	 * icon theme.
10405 	 */
10406 	const(char)* stockId;
10407 	/**
10408 	 * The label for the action. This field should typically be marked
10409 	 * for translation, see gtk_action_group_set_translation_domain().
10410 	 */
10411 	const(char)* label;
10412 	/**
10413 	 * The accelerator for the action, in the format understood by
10414 	 * gtk_accelerator_parse().
10415 	 */
10416 	const(char)* accelerator;
10417 	/**
10418 	 * The tooltip for the action. This field should typically be
10419 	 * marked for translation, see gtk_action_group_set_translation_domain().
10420 	 */
10421 	const(char)* tooltip;
10422 	/**
10423 	 * The function to call when the action is activated.
10424 	 */
10425 	GCallback callback;
10426 	/**
10427 	 * The initial state of the toggle action.
10428 	 */
10429 	bool isActive;
10430 }
10431 
10432 struct GtkToggleActionPrivate;
10433 
10434 struct GtkToggleButton
10435 {
10436 	GtkButton button;
10437 	GtkToggleButtonPrivate* priv;
10438 }
10439 
10440 struct GtkToggleButtonAccessible
10441 {
10442 	GtkButtonAccessible parent;
10443 	GtkToggleButtonAccessiblePrivate* priv;
10444 }
10445 
10446 struct GtkToggleButtonAccessibleClass
10447 {
10448 	GtkButtonAccessibleClass parentClass;
10449 }
10450 
10451 struct GtkToggleButtonAccessiblePrivate;
10452 
10453 struct GtkToggleButtonClass
10454 {
10455 	GtkButtonClass parentClass;
10456 	/** */
10457 	extern(C) void function(GtkToggleButton* toggleButton) toggled;
10458 	/** */
10459 	extern(C) void function() GtkReserved1;
10460 	/** */
10461 	extern(C) void function() GtkReserved2;
10462 	/** */
10463 	extern(C) void function() GtkReserved3;
10464 	/** */
10465 	extern(C) void function() GtkReserved4;
10466 }
10467 
10468 struct GtkToggleButtonPrivate;
10469 
10470 struct GtkToggleToolButton
10471 {
10472 	GtkToolButton parent;
10473 	GtkToggleToolButtonPrivate* priv;
10474 }
10475 
10476 struct GtkToggleToolButtonClass
10477 {
10478 	/**
10479 	 * The parent class.
10480 	 */
10481 	GtkToolButtonClass parentClass;
10482 	/** */
10483 	extern(C) void function(GtkToggleToolButton* button) toggled;
10484 	/** */
10485 	extern(C) void function() GtkReserved1;
10486 	/** */
10487 	extern(C) void function() GtkReserved2;
10488 	/** */
10489 	extern(C) void function() GtkReserved3;
10490 	/** */
10491 	extern(C) void function() GtkReserved4;
10492 }
10493 
10494 struct GtkToggleToolButtonPrivate;
10495 
10496 struct GtkToolButton
10497 {
10498 	GtkToolItem parent;
10499 	GtkToolButtonPrivate* priv;
10500 }
10501 
10502 struct GtkToolButtonClass
10503 {
10504 	/**
10505 	 * The parent class.
10506 	 */
10507 	GtkToolItemClass parentClass;
10508 	GType buttonType;
10509 	/** */
10510 	extern(C) void function(GtkToolButton* toolItem) clicked;
10511 	/** */
10512 	extern(C) void function() GtkReserved1;
10513 	/** */
10514 	extern(C) void function() GtkReserved2;
10515 	/** */
10516 	extern(C) void function() GtkReserved3;
10517 	/** */
10518 	extern(C) void function() GtkReserved4;
10519 }
10520 
10521 struct GtkToolButtonPrivate;
10522 
10523 struct GtkToolItem
10524 {
10525 	GtkBin parent;
10526 	GtkToolItemPrivate* priv;
10527 }
10528 
10529 struct GtkToolItemClass
10530 {
10531 	/**
10532 	 * The parent class.
10533 	 */
10534 	GtkBinClass parentClass;
10535 	/** */
10536 	extern(C) int function(GtkToolItem* toolItem) createMenuProxy;
10537 	/** */
10538 	extern(C) void function(GtkToolItem* toolItem) toolbarReconfigured;
10539 	/** */
10540 	extern(C) void function() GtkReserved1;
10541 	/** */
10542 	extern(C) void function() GtkReserved2;
10543 	/** */
10544 	extern(C) void function() GtkReserved3;
10545 	/** */
10546 	extern(C) void function() GtkReserved4;
10547 }
10548 
10549 struct GtkToolItemGroup
10550 {
10551 	GtkContainer parentInstance;
10552 	GtkToolItemGroupPrivate* priv;
10553 }
10554 
10555 struct GtkToolItemGroupClass
10556 {
10557 	/**
10558 	 * The parent class.
10559 	 */
10560 	GtkContainerClass parentClass;
10561 	/** */
10562 	extern(C) void function() GtkReserved1;
10563 	/** */
10564 	extern(C) void function() GtkReserved2;
10565 	/** */
10566 	extern(C) void function() GtkReserved3;
10567 	/** */
10568 	extern(C) void function() GtkReserved4;
10569 }
10570 
10571 struct GtkToolItemGroupPrivate;
10572 
10573 struct GtkToolItemPrivate;
10574 
10575 struct GtkToolPalette
10576 {
10577 	GtkContainer parentInstance;
10578 	GtkToolPalettePrivate* priv;
10579 }
10580 
10581 struct GtkToolPaletteClass
10582 {
10583 	/**
10584 	 * The parent class.
10585 	 */
10586 	GtkContainerClass parentClass;
10587 	/** */
10588 	extern(C) void function() GtkReserved1;
10589 	/** */
10590 	extern(C) void function() GtkReserved2;
10591 	/** */
10592 	extern(C) void function() GtkReserved3;
10593 	/** */
10594 	extern(C) void function() GtkReserved4;
10595 }
10596 
10597 struct GtkToolPalettePrivate;
10598 
10599 struct GtkToolShell;
10600 
10601 /**
10602  * Virtual function table for the #GtkToolShell interface.
10603  */
10604 struct GtkToolShellIface
10605 {
10606 	GTypeInterface gIface;
10607 	/** */
10608 	extern(C) GtkIconSize function(GtkToolShell* shell) getIconSize;
10609 	/**
10610 	 *
10611 	 * Params:
10612 	 *     shell = a #GtkToolShell
10613 	 * Returns: the current orientation of @shell
10614 	 */
10615 	extern(C) GtkOrientation function(GtkToolShell* shell) getOrientation;
10616 	/**
10617 	 *
10618 	 * Params:
10619 	 *     shell = a #GtkToolShell
10620 	 * Returns: the current style of @shell
10621 	 */
10622 	extern(C) GtkToolbarStyle function(GtkToolShell* shell) getStyle;
10623 	/**
10624 	 *
10625 	 * Params:
10626 	 *     shell = a #GtkToolShell
10627 	 * Returns: The relief style of buttons on @shell.
10628 	 */
10629 	extern(C) GtkReliefStyle function(GtkToolShell* shell) getReliefStyle;
10630 	/** */
10631 	extern(C) void function(GtkToolShell* shell) rebuildMenu;
10632 	/**
10633 	 *
10634 	 * Params:
10635 	 *     shell = a #GtkToolShell
10636 	 * Returns: the current text orientation of @shell
10637 	 */
10638 	extern(C) GtkOrientation function(GtkToolShell* shell) getTextOrientation;
10639 	/**
10640 	 *
10641 	 * Params:
10642 	 *     shell = a #GtkToolShell
10643 	 * Returns: the current text alignment of @shell
10644 	 */
10645 	extern(C) float function(GtkToolShell* shell) getTextAlignment;
10646 	/**
10647 	 *
10648 	 * Params:
10649 	 *     shell = a #GtkToolShell
10650 	 * Returns: the current ellipsize mode of @shell
10651 	 */
10652 	extern(C) PangoEllipsizeMode function(GtkToolShell* shell) getEllipsizeMode;
10653 	/**
10654 	 *
10655 	 * Params:
10656 	 *     shell = a #GtkToolShell
10657 	 * Returns: the current text size group of @shell
10658 	 */
10659 	extern(C) GtkSizeGroup* function(GtkToolShell* shell) getTextSizeGroup;
10660 }
10661 
10662 struct GtkToolbar
10663 {
10664 	GtkContainer container;
10665 	GtkToolbarPrivate* priv;
10666 }
10667 
10668 struct GtkToolbarClass
10669 {
10670 	GtkContainerClass parentClass;
10671 	/** */
10672 	extern(C) void function(GtkToolbar* toolbar, GtkOrientation orientation) orientationChanged;
10673 	/** */
10674 	extern(C) void function(GtkToolbar* toolbar, GtkToolbarStyle style) styleChanged;
10675 	/** */
10676 	extern(C) int function(GtkToolbar* toolbar, int x, int y, int buttonNumber) popupContextMenu;
10677 	/** */
10678 	extern(C) void function() GtkReserved1;
10679 	/** */
10680 	extern(C) void function() GtkReserved2;
10681 	/** */
10682 	extern(C) void function() GtkReserved3;
10683 	/** */
10684 	extern(C) void function() GtkReserved4;
10685 }
10686 
10687 struct GtkToolbarPrivate;
10688 
10689 struct GtkTooltip;
10690 
10691 struct GtkToplevelAccessible
10692 {
10693 	AtkObject parent;
10694 	GtkToplevelAccessiblePrivate* priv;
10695 }
10696 
10697 struct GtkToplevelAccessibleClass
10698 {
10699 	AtkObjectClass parentClass;
10700 }
10701 
10702 struct GtkToplevelAccessiblePrivate;
10703 
10704 struct GtkTreeDragDest;
10705 
10706 struct GtkTreeDragDestIface
10707 {
10708 	GTypeInterface gIface;
10709 	/**
10710 	 *
10711 	 * Params:
10712 	 *     dragDest = a #GtkTreeDragDest
10713 	 *     dest = row to drop in front of
10714 	 *     selectionData = data to drop
10715 	 * Returns: whether a new row was created before position @dest
10716 	 */
10717 	extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* dest, GtkSelectionData* selectionData) dragDataReceived;
10718 	/**
10719 	 *
10720 	 * Params:
10721 	 *     dragDest = a #GtkTreeDragDest
10722 	 *     destPath = destination row
10723 	 *     selectionData = the data being dragged
10724 	 * Returns: %TRUE if a drop is possible before @dest_path
10725 	 */
10726 	extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* destPath, GtkSelectionData* selectionData) rowDropPossible;
10727 }
10728 
10729 struct GtkTreeDragSource;
10730 
10731 struct GtkTreeDragSourceIface
10732 {
10733 	GTypeInterface gIface;
10734 	/**
10735 	 *
10736 	 * Params:
10737 	 *     dragSource = a #GtkTreeDragSource
10738 	 *     path = row on which user is initiating a drag
10739 	 * Returns: %TRUE if the row can be dragged
10740 	 */
10741 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) rowDraggable;
10742 	/**
10743 	 *
10744 	 * Params:
10745 	 *     dragSource = a #GtkTreeDragSource
10746 	 *     path = row that was dragged
10747 	 *     selectionData = a #GtkSelectionData to fill with data
10748 	 *         from the dragged row
10749 	 * Returns: %TRUE if data of the required type was provided
10750 	 */
10751 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path, GtkSelectionData* selectionData) dragDataGet;
10752 	/**
10753 	 *
10754 	 * Params:
10755 	 *     dragSource = a #GtkTreeDragSource
10756 	 *     path = row that was being dragged
10757 	 * Returns: %TRUE if the row was successfully deleted
10758 	 */
10759 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) dragDataDelete;
10760 }
10761 
10762 struct GtkTreeIter
10763 {
10764 	/**
10765 	 * a unique stamp to catch invalid iterators
10766 	 */
10767 	int stamp;
10768 	/**
10769 	 * model-specific data
10770 	 */
10771 	void* userData;
10772 	/**
10773 	 * model-specific data
10774 	 */
10775 	void* userData2;
10776 	/**
10777 	 * model-specific data
10778 	 */
10779 	void* userData3;
10780 }
10781 
10782 struct GtkTreeModel;
10783 
10784 struct GtkTreeModelFilter
10785 {
10786 	GObject parent;
10787 	GtkTreeModelFilterPrivate* priv;
10788 }
10789 
10790 struct GtkTreeModelFilterClass
10791 {
10792 	GObjectClass parentClass;
10793 	/** */
10794 	extern(C) int function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter) visible;
10795 	/** */
10796 	extern(C) void function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter, GValue* value, int column) modify;
10797 	/** */
10798 	extern(C) void function() GtkReserved1;
10799 	/** */
10800 	extern(C) void function() GtkReserved2;
10801 	/** */
10802 	extern(C) void function() GtkReserved3;
10803 	/** */
10804 	extern(C) void function() GtkReserved4;
10805 }
10806 
10807 struct GtkTreeModelFilterPrivate;
10808 
10809 struct GtkTreeModelIface
10810 {
10811 	GTypeInterface gIface;
10812 	/** */
10813 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowChanged;
10814 	/** */
10815 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowInserted;
10816 	/** */
10817 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowHasChildToggled;
10818 	/** */
10819 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path) rowDeleted;
10820 	/** */
10821 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter, int* newOrder) rowsReordered;
10822 	/**
10823 	 *
10824 	 * Params:
10825 	 *     treeModel = a #GtkTreeModel
10826 	 * Returns: the flags supported by this interface
10827 	 */
10828 	extern(C) GtkTreeModelFlags function(GtkTreeModel* treeModel) getFlags;
10829 	/**
10830 	 *
10831 	 * Params:
10832 	 *     treeModel = a #GtkTreeModel
10833 	 * Returns: the number of columns
10834 	 */
10835 	extern(C) int function(GtkTreeModel* treeModel) getNColumns;
10836 	/**
10837 	 *
10838 	 * Params:
10839 	 *     treeModel = a #GtkTreeModel
10840 	 *     index = the column index
10841 	 * Returns: the type of the column
10842 	 */
10843 	extern(C) GType function(GtkTreeModel* treeModel, int index) getColumnType;
10844 	/**
10845 	 *
10846 	 * Params:
10847 	 *     treeModel = a #GtkTreeModel
10848 	 *     iter = the uninitialized #GtkTreeIter-struct
10849 	 *     path = the #GtkTreePath-struct
10850 	 * Returns: %TRUE, if @iter was set
10851 	 */
10852 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreePath* path) getIter;
10853 	/**
10854 	 *
10855 	 * Params:
10856 	 *     treeModel = a #GtkTreeModel
10857 	 *     iter = the #GtkTreeIter-struct
10858 	 * Returns: a newly-created #GtkTreePath-struct
10859 	 */
10860 	extern(C) GtkTreePath* function(GtkTreeModel* treeModel, GtkTreeIter* iter) getPath;
10861 	/** */
10862 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter, int column, GValue* value) getValue;
10863 	/**
10864 	 *
10865 	 * Params:
10866 	 *     treeModel = a #GtkTreeModel
10867 	 *     iter = the #GtkTreeIter-struct
10868 	 * Returns: %TRUE if @iter has been changed to the next node
10869 	 */
10870 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNext;
10871 	/**
10872 	 *
10873 	 * Params:
10874 	 *     treeModel = a #GtkTreeModel
10875 	 *     iter = the #GtkTreeIter-struct
10876 	 * Returns: %TRUE if @iter has been changed to the previous node
10877 	 */
10878 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterPrevious;
10879 	/**
10880 	 *
10881 	 * Params:
10882 	 *     treeModel = a #GtkTreeModel
10883 	 *     iter = the new #GtkTreeIter-struct to be set to the child
10884 	 *     parent = the #GtkTreeIter-struct, or %NULL
10885 	 * Returns: %TRUE, if @iter has been set to the first child
10886 	 */
10887 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent) iterChildren;
10888 	/**
10889 	 *
10890 	 * Params:
10891 	 *     treeModel = a #GtkTreeModel
10892 	 *     iter = the #GtkTreeIter-struct to test for children
10893 	 * Returns: %TRUE if @iter has children
10894 	 */
10895 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterHasChild;
10896 	/**
10897 	 *
10898 	 * Params:
10899 	 *     treeModel = a #GtkTreeModel
10900 	 *     iter = the #GtkTreeIter-struct, or %NULL
10901 	 * Returns: the number of children of @iter
10902 	 */
10903 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNChildren;
10904 	/**
10905 	 *
10906 	 * Params:
10907 	 *     treeModel = a #GtkTreeModel
10908 	 *     iter = the #GtkTreeIter-struct to set to the nth child
10909 	 *     parent = the #GtkTreeIter-struct to get the child from, or %NULL.
10910 	 *     n = the index of the desired child
10911 	 * Returns: %TRUE, if @parent has an @n-th child
10912 	 */
10913 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent, int n) iterNthChild;
10914 	/**
10915 	 *
10916 	 * Params:
10917 	 *     treeModel = a #GtkTreeModel
10918 	 *     iter = the new #GtkTreeIter-struct to set to the parent
10919 	 *     child = the #GtkTreeIter-struct
10920 	 * Returns: %TRUE, if @iter is set to the parent of @child
10921 	 */
10922 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* child) iterParent;
10923 	/** */
10924 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) refNode;
10925 	/** */
10926 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) unrefNode;
10927 }
10928 
10929 struct GtkTreeModelSort
10930 {
10931 	GObject parent;
10932 	GtkTreeModelSortPrivate* priv;
10933 }
10934 
10935 struct GtkTreeModelSortClass
10936 {
10937 	GObjectClass parentClass;
10938 	/** */
10939 	extern(C) void function() GtkReserved1;
10940 	/** */
10941 	extern(C) void function() GtkReserved2;
10942 	/** */
10943 	extern(C) void function() GtkReserved3;
10944 	/** */
10945 	extern(C) void function() GtkReserved4;
10946 }
10947 
10948 struct GtkTreeModelSortPrivate;
10949 
10950 struct GtkTreePath;
10951 
10952 struct GtkTreeRowReference;
10953 
10954 struct GtkTreeSelection
10955 {
10956 	GObject parent;
10957 	GtkTreeSelectionPrivate* priv;
10958 }
10959 
10960 struct GtkTreeSelectionClass
10961 {
10962 	/**
10963 	 * The parent class.
10964 	 */
10965 	GObjectClass parentClass;
10966 	/** */
10967 	extern(C) void function(GtkTreeSelection* selection) changed;
10968 	/** */
10969 	extern(C) void function() GtkReserved1;
10970 	/** */
10971 	extern(C) void function() GtkReserved2;
10972 	/** */
10973 	extern(C) void function() GtkReserved3;
10974 	/** */
10975 	extern(C) void function() GtkReserved4;
10976 }
10977 
10978 struct GtkTreeSelectionPrivate;
10979 
10980 struct GtkTreeSortable;
10981 
10982 struct GtkTreeSortableIface
10983 {
10984 	GTypeInterface gIface;
10985 	/** */
10986 	extern(C) void function(GtkTreeSortable* sortable) sortColumnChanged;
10987 	/**
10988 	 *
10989 	 * Params:
10990 	 *     sortable = A #GtkTreeSortable
10991 	 *     sortColumnId = The sort column id to be filled in
10992 	 *     order = The #GtkSortType to be filled in
10993 	 * Returns: %TRUE if the sort column is not one of the special sort
10994 	 *     column ids.
10995 	 */
10996 	extern(C) int function(GtkTreeSortable* sortable, int* sortColumnId, GtkSortType* order) getSortColumnId;
10997 	/** */
10998 	extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkSortType order) setSortColumnId;
10999 	/** */
11000 	extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setSortFunc;
11001 	/** */
11002 	extern(C) void function(GtkTreeSortable* sortable, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setDefaultSortFunc;
11003 	/**
11004 	 *
11005 	 * Params:
11006 	 *     sortable = A #GtkTreeSortable
11007 	 * Returns: %TRUE, if the model has a default sort function
11008 	 */
11009 	extern(C) int function(GtkTreeSortable* sortable) hasDefaultSortFunc;
11010 }
11011 
11012 struct GtkTreeStore
11013 {
11014 	GObject parent;
11015 	GtkTreeStorePrivate* priv;
11016 }
11017 
11018 struct GtkTreeStoreClass
11019 {
11020 	GObjectClass parentClass;
11021 	/** */
11022 	extern(C) void function() GtkReserved1;
11023 	/** */
11024 	extern(C) void function() GtkReserved2;
11025 	/** */
11026 	extern(C) void function() GtkReserved3;
11027 	/** */
11028 	extern(C) void function() GtkReserved4;
11029 }
11030 
11031 struct GtkTreeStorePrivate;
11032 
11033 struct GtkTreeView
11034 {
11035 	GtkContainer parent;
11036 	GtkTreeViewPrivate* priv;
11037 }
11038 
11039 struct GtkTreeViewAccessible
11040 {
11041 	GtkContainerAccessible parent;
11042 	GtkTreeViewAccessiblePrivate* priv;
11043 }
11044 
11045 struct GtkTreeViewAccessibleClass
11046 {
11047 	GtkContainerAccessibleClass parentClass;
11048 }
11049 
11050 struct GtkTreeViewAccessiblePrivate;
11051 
11052 struct GtkTreeViewClass
11053 {
11054 	GtkContainerClass parentClass;
11055 	/** */
11056 	extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, GtkTreeViewColumn* column) rowActivated;
11057 	/** */
11058 	extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testExpandRow;
11059 	/** */
11060 	extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testCollapseRow;
11061 	/** */
11062 	extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowExpanded;
11063 	/** */
11064 	extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowCollapsed;
11065 	/** */
11066 	extern(C) void function(GtkTreeView* treeView) columnsChanged;
11067 	/** */
11068 	extern(C) void function(GtkTreeView* treeView) cursorChanged;
11069 	/** */
11070 	extern(C) int function(GtkTreeView* treeView, GtkMovementStep step, int count) moveCursor;
11071 	/** */
11072 	extern(C) int function(GtkTreeView* treeView) selectAll;
11073 	/** */
11074 	extern(C) int function(GtkTreeView* treeView) unselectAll;
11075 	/** */
11076 	extern(C) int function(GtkTreeView* treeView, int startEditing) selectCursorRow;
11077 	/** */
11078 	extern(C) int function(GtkTreeView* treeView) toggleCursorRow;
11079 	/** */
11080 	extern(C) int function(GtkTreeView* treeView, int logical, int expand, int openAll) expandCollapseCursorRow;
11081 	/** */
11082 	extern(C) int function(GtkTreeView* treeView) selectCursorParent;
11083 	/** */
11084 	extern(C) int function(GtkTreeView* treeView) startInteractiveSearch;
11085 	/** */
11086 	extern(C) void function() GtkReserved1;
11087 	/** */
11088 	extern(C) void function() GtkReserved2;
11089 	/** */
11090 	extern(C) void function() GtkReserved3;
11091 	/** */
11092 	extern(C) void function() GtkReserved4;
11093 	/** */
11094 	extern(C) void function() GtkReserved5;
11095 	/** */
11096 	extern(C) void function() GtkReserved6;
11097 	/** */
11098 	extern(C) void function() GtkReserved7;
11099 	/** */
11100 	extern(C) void function() GtkReserved8;
11101 }
11102 
11103 struct GtkTreeViewColumn
11104 {
11105 	GObject parentInstance;
11106 	GtkTreeViewColumnPrivate* priv;
11107 }
11108 
11109 struct GtkTreeViewColumnClass
11110 {
11111 	GObjectClass parentClass;
11112 	/** */
11113 	extern(C) void function(GtkTreeViewColumn* treeColumn) clicked;
11114 	/** */
11115 	extern(C) void function() GtkReserved1;
11116 	/** */
11117 	extern(C) void function() GtkReserved2;
11118 	/** */
11119 	extern(C) void function() GtkReserved3;
11120 	/** */
11121 	extern(C) void function() GtkReserved4;
11122 }
11123 
11124 struct GtkTreeViewColumnPrivate;
11125 
11126 struct GtkTreeViewPrivate;
11127 
11128 struct GtkUIManager
11129 {
11130 	GObject parent;
11131 	GtkUIManagerPrivate* privateData;
11132 }
11133 
11134 struct GtkUIManagerClass
11135 {
11136 	GObjectClass parentClass;
11137 	/** */
11138 	extern(C) void function(GtkUIManager* manager, GtkWidget* widget) addWidget;
11139 	/** */
11140 	extern(C) void function(GtkUIManager* manager) actionsChanged;
11141 	/** */
11142 	extern(C) void function(GtkUIManager* manager, GtkAction* action, GtkWidget* proxy) connectProxy;
11143 	/** */
11144 	extern(C) void function(GtkUIManager* manager, GtkAction* action, GtkWidget* proxy) disconnectProxy;
11145 	/** */
11146 	extern(C) void function(GtkUIManager* manager, GtkAction* action) preActivate;
11147 	/** */
11148 	extern(C) void function(GtkUIManager* manager, GtkAction* action) postActivate;
11149 	/**
11150 	 *
11151 	 * Params:
11152 	 *     manager = a #GtkUIManager
11153 	 *     path = a path
11154 	 * Returns: the widget found by following the path,
11155 	 *     or %NULL if no widget was found
11156 	 */
11157 	extern(C) GtkWidget* function(GtkUIManager* manager, const(char)* path) getWidget;
11158 	/**
11159 	 *
11160 	 * Params:
11161 	 *     manager = a #GtkUIManager
11162 	 *     path = a path
11163 	 * Returns: the action whose proxy widget is found by following the path,
11164 	 *     or %NULL if no widget was found.
11165 	 */
11166 	extern(C) GtkAction* function(GtkUIManager* manager, const(char)* path) getAction;
11167 	/** */
11168 	extern(C) void function() GtkReserved1;
11169 	/** */
11170 	extern(C) void function() GtkReserved2;
11171 	/** */
11172 	extern(C) void function() GtkReserved3;
11173 	/** */
11174 	extern(C) void function() GtkReserved4;
11175 }
11176 
11177 struct GtkUIManagerPrivate;
11178 
11179 struct GtkVBox
11180 {
11181 	GtkBox box;
11182 }
11183 
11184 struct GtkVBoxClass
11185 {
11186 	GtkBoxClass parentClass;
11187 }
11188 
11189 struct GtkVButtonBox
11190 {
11191 	GtkButtonBox buttonBox;
11192 }
11193 
11194 struct GtkVButtonBoxClass
11195 {
11196 	GtkButtonBoxClass parentClass;
11197 }
11198 
11199 struct GtkVPaned
11200 {
11201 	GtkPaned paned;
11202 }
11203 
11204 struct GtkVPanedClass
11205 {
11206 	GtkPanedClass parentClass;
11207 }
11208 
11209 struct GtkVScale
11210 {
11211 	GtkScale scale;
11212 }
11213 
11214 struct GtkVScaleClass
11215 {
11216 	GtkScaleClass parentClass;
11217 }
11218 
11219 struct GtkVScrollbar
11220 {
11221 	GtkScrollbar scrollbar;
11222 }
11223 
11224 struct GtkVScrollbarClass
11225 {
11226 	GtkScrollbarClass parentClass;
11227 }
11228 
11229 struct GtkVSeparator
11230 {
11231 	GtkSeparator separator;
11232 }
11233 
11234 struct GtkVSeparatorClass
11235 {
11236 	GtkSeparatorClass parentClass;
11237 }
11238 
11239 struct GtkViewport
11240 {
11241 	GtkBin bin;
11242 	GtkViewportPrivate* priv;
11243 }
11244 
11245 struct GtkViewportClass
11246 {
11247 	/**
11248 	 * The parent class.
11249 	 */
11250 	GtkBinClass parentClass;
11251 	/** */
11252 	extern(C) void function() GtkReserved1;
11253 	/** */
11254 	extern(C) void function() GtkReserved2;
11255 	/** */
11256 	extern(C) void function() GtkReserved3;
11257 	/** */
11258 	extern(C) void function() GtkReserved4;
11259 }
11260 
11261 struct GtkViewportPrivate;
11262 
11263 struct GtkVolumeButton
11264 {
11265 	GtkScaleButton parent;
11266 }
11267 
11268 struct GtkVolumeButtonClass
11269 {
11270 	GtkScaleButtonClass parentClass;
11271 	/** */
11272 	extern(C) void function() GtkReserved1;
11273 	/** */
11274 	extern(C) void function() GtkReserved2;
11275 	/** */
11276 	extern(C) void function() GtkReserved3;
11277 	/** */
11278 	extern(C) void function() GtkReserved4;
11279 }
11280 
11281 struct GtkWidget
11282 {
11283 	GObject parentInstance;
11284 	GtkWidgetPrivate* priv;
11285 }
11286 
11287 struct GtkWidgetAccessible
11288 {
11289 	GtkAccessible parent;
11290 	GtkWidgetAccessiblePrivate* priv;
11291 }
11292 
11293 struct GtkWidgetAccessibleClass
11294 {
11295 	GtkAccessibleClass parentClass;
11296 	/** */
11297 	extern(C) void function(GObject* object, GParamSpec* pspec) notifyGtk;
11298 }
11299 
11300 struct GtkWidgetAccessiblePrivate;
11301 
11302 struct GtkWidgetClass
11303 {
11304 	/**
11305 	 * The object class structure needs to be the first
11306 	 * element in the widget class structure in order for the class mechanism
11307 	 * to work correctly. This allows a GtkWidgetClass pointer to be cast to
11308 	 * a GObjectClass pointer.
11309 	 */
11310 	GObjectClass parentClass;
11311 	/**
11312 	 * The signal to emit when a widget of this class is
11313 	 * activated, gtk_widget_activate() handles the emission.
11314 	 * Implementation of this signal is optional.
11315 	 */
11316 	uint activateSignal;
11317 	/** */
11318 	extern(C) void function(GtkWidget* widget, uint nPspecs, GParamSpec** pspecs) dispatchChildPropertiesChanged;
11319 	/** */
11320 	extern(C) void function(GtkWidget* widget) destroy;
11321 	/** */
11322 	extern(C) void function(GtkWidget* widget) show;
11323 	/** */
11324 	extern(C) void function(GtkWidget* widget) showAll;
11325 	/** */
11326 	extern(C) void function(GtkWidget* widget) hide;
11327 	/** */
11328 	extern(C) void function(GtkWidget* widget) map;
11329 	/** */
11330 	extern(C) void function(GtkWidget* widget) unmap;
11331 	/** */
11332 	extern(C) void function(GtkWidget* widget) realize;
11333 	/** */
11334 	extern(C) void function(GtkWidget* widget) unrealize;
11335 	/** */
11336 	extern(C) void function(GtkWidget* widget, GtkAllocation* allocation) sizeAllocate;
11337 	/** */
11338 	extern(C) void function(GtkWidget* widget, GtkStateType previousState) stateChanged;
11339 	/** */
11340 	extern(C) void function(GtkWidget* widget, GtkStateFlags previousStateFlags) stateFlagsChanged;
11341 	/** */
11342 	extern(C) void function(GtkWidget* widget, GtkWidget* previousParent) parentSet;
11343 	/** */
11344 	extern(C) void function(GtkWidget* widget, GtkWidget* previousToplevel) hierarchyChanged;
11345 	/** */
11346 	extern(C) void function(GtkWidget* widget, GtkStyle* previousStyle) styleSet;
11347 	/** */
11348 	extern(C) void function(GtkWidget* widget, GtkTextDirection previousDirection) directionChanged;
11349 	/** */
11350 	extern(C) void function(GtkWidget* widget, int wasGrabbed) grabNotify;
11351 	/** */
11352 	extern(C) void function(GtkWidget* widget, GParamSpec* childProperty) childNotify;
11353 	/** */
11354 	extern(C) int function(GtkWidget* widget, cairo_t* cr) draw;
11355 	/**
11356 	 *
11357 	 * Params:
11358 	 *     widget = a #GtkWidget instance
11359 	 * Returns: The #GtkSizeRequestMode preferred by @widget.
11360 	 */
11361 	extern(C) GtkSizeRequestMode function(GtkWidget* widget) getRequestMode;
11362 	/** */
11363 	extern(C) void function(GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight;
11364 	/** */
11365 	extern(C) void function(GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
11366 	/** */
11367 	extern(C) void function(GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth;
11368 	/** */
11369 	extern(C) void function(GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
11370 	/**
11371 	 *
11372 	 * Params:
11373 	 *     widget = a #GtkWidget
11374 	 *     groupCycling = %TRUE if there are other widgets with the same mnemonic
11375 	 * Returns: %TRUE if the signal has been handled
11376 	 */
11377 	extern(C) int function(GtkWidget* widget, int groupCycling) mnemonicActivate;
11378 	/** */
11379 	extern(C) void function(GtkWidget* widget) grabFocus;
11380 	/** */
11381 	extern(C) int function(GtkWidget* widget, GtkDirectionType direction) focus;
11382 	/** */
11383 	extern(C) void function(GtkWidget* widget, GtkDirectionType direction) moveFocus;
11384 	/**
11385 	 *
11386 	 * Params:
11387 	 *     widget = a #GtkWidget
11388 	 *     direction = direction of focus movement
11389 	 * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE
11390 	 *     if the emitting widget should try to handle the keyboard
11391 	 *     navigation attempt in its parent container(s).
11392 	 */
11393 	extern(C) int function(GtkWidget* widget, GtkDirectionType direction) keynavFailed;
11394 	/**
11395 	 *
11396 	 * Params:
11397 	 *     widget = a #GtkWidget
11398 	 *     event = a #GdkEvent
11399 	 * Returns: return from the event signal emission (%TRUE if
11400 	 *     the event was handled)
11401 	 */
11402 	extern(C) int function(GtkWidget* widget, GdkEvent* event) event;
11403 	/** */
11404 	extern(C) int function(GtkWidget* widget, GdkEventButton* event) buttonPressEvent;
11405 	/** */
11406 	extern(C) int function(GtkWidget* widget, GdkEventButton* event) buttonReleaseEvent;
11407 	/** */
11408 	extern(C) int function(GtkWidget* widget, GdkEventScroll* event) scrollEvent;
11409 	/** */
11410 	extern(C) int function(GtkWidget* widget, GdkEventMotion* event) motionNotifyEvent;
11411 	/** */
11412 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) deleteEvent;
11413 	/** */
11414 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) destroyEvent;
11415 	/** */
11416 	extern(C) int function(GtkWidget* widget, GdkEventKey* event) keyPressEvent;
11417 	/** */
11418 	extern(C) int function(GtkWidget* widget, GdkEventKey* event) keyReleaseEvent;
11419 	/** */
11420 	extern(C) int function(GtkWidget* widget, GdkEventCrossing* event) enterNotifyEvent;
11421 	/** */
11422 	extern(C) int function(GtkWidget* widget, GdkEventCrossing* event) leaveNotifyEvent;
11423 	/** */
11424 	extern(C) int function(GtkWidget* widget, GdkEventConfigure* event) configureEvent;
11425 	/** */
11426 	extern(C) int function(GtkWidget* widget, GdkEventFocus* event) focusInEvent;
11427 	/** */
11428 	extern(C) int function(GtkWidget* widget, GdkEventFocus* event) focusOutEvent;
11429 	/** */
11430 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) mapEvent;
11431 	/** */
11432 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) unmapEvent;
11433 	/** */
11434 	extern(C) int function(GtkWidget* widget, GdkEventProperty* event) propertyNotifyEvent;
11435 	/** */
11436 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionClearEvent;
11437 	/** */
11438 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionRequestEvent;
11439 	/** */
11440 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionNotifyEvent;
11441 	/** */
11442 	extern(C) int function(GtkWidget* widget, GdkEventProximity* event) proximityInEvent;
11443 	/** */
11444 	extern(C) int function(GtkWidget* widget, GdkEventProximity* event) proximityOutEvent;
11445 	/** */
11446 	extern(C) int function(GtkWidget* widget, GdkEventVisibility* event) visibilityNotifyEvent;
11447 	/** */
11448 	extern(C) int function(GtkWidget* widget, GdkEventWindowState* event) windowStateEvent;
11449 	/** */
11450 	extern(C) int function(GtkWidget* widget, GdkEventExpose* event) damageEvent;
11451 	/** */
11452 	extern(C) int function(GtkWidget* widget, GdkEventGrabBroken* event) grabBrokenEvent;
11453 	/** */
11454 	extern(C) void function(GtkWidget* widget, GtkSelectionData* selectionData, uint info, uint time) selectionGet;
11455 	/** */
11456 	extern(C) void function(GtkWidget* widget, GtkSelectionData* selectionData, uint time) selectionReceived;
11457 	/** */
11458 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragBegin;
11459 	/** */
11460 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragEnd;
11461 	/** */
11462 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, GtkSelectionData* selectionData, uint info, uint time) dragDataGet;
11463 	/** */
11464 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragDataDelete;
11465 	/** */
11466 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, uint time) dragLeave;
11467 	/** */
11468 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, int x, int y, uint time) dragMotion;
11469 	/** */
11470 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, int x, int y, uint time) dragDrop;
11471 	/** */
11472 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, int x, int y, GtkSelectionData* selectionData, uint info, uint time) dragDataReceived;
11473 	/** */
11474 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, GtkDragResult result) dragFailed;
11475 	/** */
11476 	extern(C) int function(GtkWidget* widget) popupMenu;
11477 	/** */
11478 	extern(C) int function(GtkWidget* widget, GtkWidgetHelpType helpType) showHelp;
11479 	/**
11480 	 *
11481 	 * Params:
11482 	 *     widget = a #GtkWidget
11483 	 * Returns: the #AtkObject associated with @widget
11484 	 */
11485 	extern(C) AtkObject* function(GtkWidget* widget) getAccessible;
11486 	/** */
11487 	extern(C) void function(GtkWidget* widget, GdkScreen* previousScreen) screenChanged;
11488 	/**
11489 	 *
11490 	 * Params:
11491 	 *     widget = a #GtkWidget
11492 	 *     signalId = the ID of a signal installed on @widget
11493 	 * Returns: %TRUE if the accelerator can be activated.
11494 	 */
11495 	extern(C) int function(GtkWidget* widget, uint signalId) canActivateAccel;
11496 	/** */
11497 	extern(C) void function(GtkWidget* widget) compositedChanged;
11498 	/** */
11499 	extern(C) int function(GtkWidget* widget, int x, int y, int keyboardTooltip, GtkTooltip* tooltip) queryTooltip;
11500 	/** */
11501 	extern(C) void function(GtkWidget* widget, int* hexpandP, int* vexpandP) computeExpand;
11502 	/** */
11503 	extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int* minimumSize, int* naturalSize) adjustSizeRequest;
11504 	/** */
11505 	extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int* minimumSize, int* naturalSize, int* allocatedPos, int* allocatedSize) adjustSizeAllocation;
11506 	/** */
11507 	extern(C) void function(GtkWidget* widget) styleUpdated;
11508 	/** */
11509 	extern(C) int function(GtkWidget* widget, GdkEventTouch* event) touchEvent;
11510 	/** */
11511 	extern(C) void function(GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight, int* minimumBaseline, int* naturalBaseline) getPreferredHeightAndBaselineForWidth;
11512 	/** */
11513 	extern(C) void function(GtkWidget* widget, int* minimumBaseline, int* naturalBaseline) adjustBaselineRequest;
11514 	/** */
11515 	extern(C) void function(GtkWidget* widget, int* baseline) adjustBaselineAllocation;
11516 	/** */
11517 	extern(C) void function(GtkWidget* widget, cairo_region_t* region) queueDrawRegion;
11518 	GtkWidgetClassPrivate* priv;
11519 	/** */
11520 	extern(C) void function() GtkReserved6;
11521 	/** */
11522 	extern(C) void function() GtkReserved7;
11523 }
11524 
11525 struct GtkWidgetClassPrivate;
11526 
11527 struct GtkWidgetPath;
11528 
11529 struct GtkWidgetPrivate;
11530 
11531 struct GtkWindow
11532 {
11533 	GtkBin bin;
11534 	GtkWindowPrivate* priv;
11535 }
11536 
11537 struct GtkWindowAccessible
11538 {
11539 	GtkContainerAccessible parent;
11540 	GtkWindowAccessiblePrivate* priv;
11541 }
11542 
11543 struct GtkWindowAccessibleClass
11544 {
11545 	GtkContainerAccessibleClass parentClass;
11546 }
11547 
11548 struct GtkWindowAccessiblePrivate;
11549 
11550 struct GtkWindowClass
11551 {
11552 	/**
11553 	 * The parent class.
11554 	 */
11555 	GtkBinClass parentClass;
11556 	/** */
11557 	extern(C) void function(GtkWindow* window, GtkWidget* focus) setFocus;
11558 	/** */
11559 	extern(C) void function(GtkWindow* window) activateFocus;
11560 	/** */
11561 	extern(C) void function(GtkWindow* window) activateDefault;
11562 	/** */
11563 	extern(C) void function(GtkWindow* window) keysChanged;
11564 	/** */
11565 	extern(C) int function(GtkWindow* window, int toggle) enableDebugging;
11566 	/** */
11567 	extern(C) void function() GtkReserved1;
11568 	/** */
11569 	extern(C) void function() GtkReserved2;
11570 	/** */
11571 	extern(C) void function() GtkReserved3;
11572 }
11573 
11574 struct GtkWindowGeometryInfo;
11575 
11576 struct GtkWindowGroup
11577 {
11578 	GObject parentInstance;
11579 	GtkWindowGroupPrivate* priv;
11580 }
11581 
11582 struct GtkWindowGroupClass
11583 {
11584 	GObjectClass parentClass;
11585 	/** */
11586 	extern(C) void function() GtkReserved1;
11587 	/** */
11588 	extern(C) void function() GtkReserved2;
11589 	/** */
11590 	extern(C) void function() GtkReserved3;
11591 	/** */
11592 	extern(C) void function() GtkReserved4;
11593 }
11594 
11595 struct GtkWindowGroupPrivate;
11596 
11597 struct GtkWindowPrivate;
11598 
11599 /**
11600  * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-Gtk-MountOperationHandler.top_of_page">org.Gtk.MountOperationHandler</link>.
11601  */
11602 struct _GtkMountOperationHandler;
11603 
11604 /**
11605  * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-Gtk-MountOperationHandler.top_of_page">org.Gtk.MountOperationHandler</link>.
11606  */
11607 struct _GtkMountOperationHandlerIface
11608 {
11609 	/**
11610 	 * The parent interface.
11611 	 */
11612 	GTypeInterface parentIface;
11613 	/** */
11614 	extern(C) int function(_GtkMountOperationHandler* object, GDBusMethodInvocation* invocation, const(char)* argId, const(char)* argMessage, const(char)* argIconName, const(char)* argDefaultUser, const(char)* argDefaultDomain, uint argFlags) handleAskPassword;
11615 	/** */
11616 	extern(C) int function(_GtkMountOperationHandler* object, GDBusMethodInvocation* invocation, const(char)* argId, const(char)* argMessage, const(char)* argIconName, const(char)* argChoices) handleAskQuestion;
11617 	/** */
11618 	extern(C) int function(_GtkMountOperationHandler* object, GDBusMethodInvocation* invocation) handleClose;
11619 	/** */
11620 	extern(C) int function(_GtkMountOperationHandler* object, GDBusMethodInvocation* invocation, const(char)* argId, const(char)* argMessage, const(char)* argIconName, GVariant* argApplicationPids, const(char)* argChoices) handleShowProcesses;
11621 }
11622 
11623 /**
11624  * The #_GtkMountOperationHandlerProxy structure contains only private data and should only be accessed using the provided API.
11625  */
11626 struct _GtkMountOperationHandlerProxy
11627 {
11628 	GDBusProxy parentInstance;
11629 	_GtkMountOperationHandlerProxyPrivate* priv;
11630 }
11631 
11632 /**
11633  * Class structure for #_GtkMountOperationHandlerProxy.
11634  */
11635 struct _GtkMountOperationHandlerProxyClass
11636 {
11637 	/**
11638 	 * The parent class.
11639 	 */
11640 	GDBusProxyClass parentClass;
11641 }
11642 
11643 struct _GtkMountOperationHandlerProxyPrivate;
11644 
11645 /**
11646  * The #_GtkMountOperationHandlerSkeleton structure contains only private data and should only be accessed using the provided API.
11647  */
11648 struct _GtkMountOperationHandlerSkeleton
11649 {
11650 	GDBusInterfaceSkeleton parentInstance;
11651 	_GtkMountOperationHandlerSkeletonPrivate* priv;
11652 }
11653 
11654 /**
11655  * Class structure for #_GtkMountOperationHandlerSkeleton.
11656  */
11657 struct _GtkMountOperationHandlerSkeletonClass
11658 {
11659 	/**
11660 	 * The parent class.
11661 	 */
11662 	GDBusInterfaceSkeletonClass parentClass;
11663 }
11664 
11665 struct _GtkMountOperationHandlerSkeletonPrivate;
11666 
11667 /** */
11668 public alias extern(C) int function(GtkAccelGroup* accelGroup, GObject* acceleratable, uint keyval, GdkModifierType modifier) GtkAccelGroupActivate;
11669 
11670 /** */
11671 public alias extern(C) int function(GtkAccelKey* key, GClosure* closure, void* data) GtkAccelGroupFindFunc;
11672 
11673 /** */
11674 public alias extern(C) void function(void* data, const(char)* accelPath, uint accelKey, GdkModifierType accelMods, int changed) GtkAccelMapForeach;
11675 
11676 /**
11677  * A function used by gtk_assistant_set_forward_page_func() to know which
11678  * is the next page given a current one. It’s called both for computing the
11679  * next page when the user presses the “forward” button and for handling
11680  * the behavior of the “last” button.
11681  *
11682  * Params:
11683  *     currentPage = The page number used to calculate the next page.
11684  *     data = user data.
11685  *
11686  * Returns: The next page number.
11687  */
11688 public alias extern(C) int function(int currentPage, void* data) GtkAssistantPageFunc;
11689 
11690 /**
11691  * This is the signature of a function used to connect signals.  It is used
11692  * by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()
11693  * methods.  It is mainly intended for interpreted language bindings, but
11694  * could be useful where the programmer wants more control over the signal
11695  * connection process. Note that this function can only be called once,
11696  * subsequent calls will do nothing.
11697  *
11698  * Params:
11699  *     builder = a #GtkBuilder
11700  *     object = object to connect a signal to
11701  *     signalName = name of the signal
11702  *     handlerName = name of the handler
11703  *     connectObject = a #GObject, if non-%NULL, use g_signal_connect_object()
11704  *     flags = #GConnectFlags to use
11705  *     userData = user data
11706  *
11707  * Since: 2.12
11708  */
11709 public alias extern(C) void function(GtkBuilder* builder, GObject* object, const(char)* signalName, const(char)* handlerName, GObject* connectObject, GConnectFlags flags, void* userData) GtkBuilderConnectFunc;
11710 
11711 /**
11712  * This kind of functions provide Pango markup with detail information for the
11713  * specified day. Examples for such details are holidays or appointments. The
11714  * function returns %NULL when no information is available.
11715  *
11716  * Params:
11717  *     calendar = a #GtkCalendar.
11718  *     year = the year for which details are needed.
11719  *     month = the month for which details are needed.
11720  *     day = the day of @month for which details are needed.
11721  *     userData = the data passed with gtk_calendar_set_detail_func().
11722  *
11723  * Returns: Newly allocated string with Pango markup
11724  *     with details for the specified day or %NULL.
11725  *
11726  * Since: 2.14
11727  */
11728 public alias extern(C) char* function(GtkCalendar* calendar, uint year, uint month, uint day, void* userData) GtkCalendarDetailFunc;
11729 
11730 /**
11731  * The type of the callback functions used for e.g. iterating over
11732  * the children of a container, see gtk_container_foreach().
11733  *
11734  * Params:
11735  *     widget = the widget to operate on
11736  *     data = user-supplied data
11737  */
11738 public alias extern(C) void function(GtkWidget* widget, void* data) GtkCallback;
11739 
11740 /**
11741  * The type of the callback functions used for iterating over the
11742  * cell renderers and their allocated areas inside a #GtkCellArea,
11743  * see gtk_cell_area_foreach_alloc().
11744  *
11745  * Params:
11746  *     renderer = the cell renderer to operate on
11747  *     cellArea = the area allocated to @renderer inside the rectangle
11748  *         provided to gtk_cell_area_foreach_alloc().
11749  *     cellBackground = the background area for @renderer inside the
11750  *         background area provided to gtk_cell_area_foreach_alloc().
11751  *     data = user-supplied data
11752  *
11753  * Returns: %TRUE to stop iterating over cells.
11754  */
11755 public alias extern(C) int function(GtkCellRenderer* renderer, GdkRectangle* cellArea, GdkRectangle* cellBackground, void* data) GtkCellAllocCallback;
11756 
11757 /**
11758  * The type of the callback functions used for iterating over
11759  * the cell renderers of a #GtkCellArea, see gtk_cell_area_foreach().
11760  *
11761  * Params:
11762  *     renderer = the cell renderer to operate on
11763  *     data = user-supplied data
11764  *
11765  * Returns: %TRUE to stop iterating over cells.
11766  */
11767 public alias extern(C) int function(GtkCellRenderer* renderer, void* data) GtkCellCallback;
11768 
11769 /**
11770  * A function which should set the value of @cell_layout’s cell renderer(s)
11771  * as appropriate.
11772  *
11773  * Params:
11774  *     cellLayout = a #GtkCellLayout
11775  *     cell = the cell renderer whose value is to be set
11776  *     treeModel = the model
11777  *     iter = a #GtkTreeIter indicating the row to set the value for
11778  *     data = user data passed to gtk_cell_layout_set_cell_data_func()
11779  */
11780 public alias extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkCellLayoutDataFunc;
11781 
11782 /**
11783  * A function that will be called when the contents of the clipboard are changed
11784  * or cleared. Once this has called, the @user_data_or_owner argument
11785  * will not be used again.
11786  *
11787  * Params:
11788  *     clipboard = the #GtkClipboard
11789  *     userDataOrOwner = the @user_data argument passed to gtk_clipboard_set_with_data(),
11790  *         or the @owner argument passed to gtk_clipboard_set_with_owner()
11791  */
11792 public alias extern(C) void function(GtkClipboard* clipboard, void* userDataOrOwner) GtkClipboardClearFunc;
11793 
11794 /**
11795  * A function that will be called to provide the contents of the selection.
11796  * If multiple types of data were advertised, the requested type can
11797  * be determined from the @info parameter or by checking the target field
11798  * of @selection_data. If the data could successfully be converted into
11799  * then it should be stored into the @selection_data object by
11800  * calling gtk_selection_data_set() (or related functions such
11801  * as gtk_selection_data_set_text()). If no data is set, the requestor
11802  * will be informed that the attempt to get the data failed.
11803  *
11804  * Params:
11805  *     clipboard = the #GtkClipboard
11806  *     selectionData = a #GtkSelectionData argument in which the requested
11807  *         data should be stored.
11808  *     info = the info field corresponding to the requested target from the
11809  *         #GtkTargetEntry array passed to gtk_clipboard_set_with_data() or
11810  *         gtk_clipboard_set_with_owner().
11811  *     userDataOrOwner = the @user_data argument passed to
11812  *         gtk_clipboard_set_with_data(), or the @owner argument passed to
11813  *         gtk_clipboard_set_with_owner()
11814  */
11815 public alias extern(C) void function(GtkClipboard* clipboard, GtkSelectionData* selectionData, uint info, void* userDataOrOwner) GtkClipboardGetFunc;
11816 
11817 /**
11818  * A function to be called when the results of gtk_clipboard_request_image()
11819  * are received, or when the request fails.
11820  *
11821  * Params:
11822  *     clipboard = the #GtkClipboard
11823  *     pixbuf = the received image
11824  *     data = the @user_data supplied to
11825  *         gtk_clipboard_request_image().
11826  *
11827  * Since: 2.6
11828  */
11829 public alias extern(C) void function(GtkClipboard* clipboard, GdkPixbuf* pixbuf, void* data) GtkClipboardImageReceivedFunc;
11830 
11831 /**
11832  * A function to be called when the results of gtk_clipboard_request_contents()
11833  * are received, or when the request fails.
11834  *
11835  * Params:
11836  *     clipboard = the #GtkClipboard
11837  *     selectionData = a #GtkSelectionData containing the data was received.
11838  *         If retrieving the data failed, then then length field
11839  *         of @selection_data will be negative.
11840  *     data = the @user_data supplied to
11841  *         gtk_clipboard_request_contents().
11842  */
11843 public alias extern(C) void function(GtkClipboard* clipboard, GtkSelectionData* selectionData, void* data) GtkClipboardReceivedFunc;
11844 
11845 /**
11846  * A function to be called when the results of
11847  * gtk_clipboard_request_rich_text() are received, or when the request
11848  * fails.
11849  *
11850  * Params:
11851  *     clipboard = the #GtkClipboard
11852  *     format = The format of the rich text
11853  *     text = the rich text received, as
11854  *         a UTF-8 encoded string, or %NULL if retrieving the data failed.
11855  *     length = Length of the text.
11856  *     data = the @user_data supplied to
11857  *         gtk_clipboard_request_rich_text().
11858  *
11859  * Since: 2.10
11860  */
11861 public alias extern(C) void function(GtkClipboard* clipboard, GdkAtom format, const(char)* text, size_t length, void* data) GtkClipboardRichTextReceivedFunc;
11862 
11863 /**
11864  * A function to be called when the results of gtk_clipboard_request_targets()
11865  * are received, or when the request fails.
11866  *
11867  * Params:
11868  *     clipboard = the #GtkClipboard
11869  *     atoms = the supported targets,
11870  *         as array of #GdkAtom, or %NULL if retrieving the data failed.
11871  *     nAtoms = the length of the @atoms array.
11872  *     data = the @user_data supplied to
11873  *         gtk_clipboard_request_targets().
11874  *
11875  * Since: 2.4
11876  */
11877 public alias extern(C) void function(GtkClipboard* clipboard, GdkAtom* atoms, int nAtoms, void* data) GtkClipboardTargetsReceivedFunc;
11878 
11879 /**
11880  * A function to be called when the results of gtk_clipboard_request_text()
11881  * are received, or when the request fails.
11882  *
11883  * Params:
11884  *     clipboard = the #GtkClipboard
11885  *     text = the text received, as a UTF-8 encoded string, or
11886  *         %NULL if retrieving the data failed.
11887  *     data = the @user_data supplied to
11888  *         gtk_clipboard_request_text().
11889  */
11890 public alias extern(C) void function(GtkClipboard* clipboard, const(char)* text, void* data) GtkClipboardTextReceivedFunc;
11891 
11892 /**
11893  * A function to be called when the results of
11894  * gtk_clipboard_request_uris() are received, or when the request
11895  * fails.
11896  *
11897  * Params:
11898  *     clipboard = the #GtkClipboard
11899  *     uris = the received URIs
11900  *     data = the @user_data supplied to
11901  *         gtk_clipboard_request_uris().
11902  *
11903  * Since: 2.14
11904  */
11905 public alias extern(C) void function(GtkClipboard* clipboard, char** uris, void* data) GtkClipboardURIReceivedFunc;
11906 
11907 /** */
11908 public alias extern(C) void function(GdkColor* colors, int nColors) GtkColorSelectionChangePaletteFunc;
11909 
11910 /** */
11911 public alias extern(C) void function(GdkScreen* screen, GdkColor* colors, int nColors) GtkColorSelectionChangePaletteWithScreenFunc;
11912 
11913 /**
11914  * A function which decides whether the row indicated by @iter matches
11915  * a given @key, and should be displayed as a possible completion for @key.
11916  * Note that @key is normalized and case-folded (see g_utf8_normalize()
11917  * and g_utf8_casefold()). If this is not appropriate, match functions
11918  * have access to the unmodified key via
11919  * `gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ()))`.
11920  *
11921  * Params:
11922  *     completion = the #GtkEntryCompletion
11923  *     key = the string to match, normalized and case-folded
11924  *     iter = a #GtkTreeIter indicating the row to match
11925  *     userData = user data given to gtk_entry_completion_set_match_func()
11926  *
11927  * Returns: %TRUE if @iter should be displayed as a possible completion
11928  *     for @key
11929  */
11930 public alias extern(C) int function(GtkEntryCompletion* completion, const(char)* key, GtkTreeIter* iter, void* userData) GtkEntryCompletionMatchFunc;
11931 
11932 /**
11933  * The type of function that is used with custom filters, see
11934  * gtk_file_filter_add_custom().
11935  *
11936  * Params:
11937  *     filterInfo = a #GtkFileFilterInfo that is filled according
11938  *         to the @needed flags passed to gtk_file_filter_add_custom()
11939  *     data = user data passed to gtk_file_filter_add_custom()
11940  *
11941  * Returns: %TRUE if the file should be displayed
11942  */
11943 public alias extern(C) int function(GtkFileFilterInfo* filterInfo, void* data) GtkFileFilterFunc;
11944 
11945 /**
11946  * Called for flow boxes that are bound to a #GListModel with
11947  * gtk_flow_box_bind_model() for each item that gets added to the model.
11948  *
11949  * Params:
11950  *     item = the item from the model for which to create a widget for
11951  *     userData = user data from gtk_flow_box_bind_model()
11952  *
11953  * Returns: a #GtkWidget that represents @item
11954  *
11955  * Since: 3.18
11956  */
11957 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkFlowBoxCreateWidgetFunc;
11958 
11959 /**
11960  * A function that will be called whenrever a child changes
11961  * or is added. It lets you control if the child should be
11962  * visible or not.
11963  *
11964  * Params:
11965  *     child = a #GtkFlowBoxChild that may be filtered
11966  *     userData = user data
11967  *
11968  * Returns: %TRUE if the row should be visible, %FALSE otherwise
11969  *
11970  * Since: 3.12
11971  */
11972 public alias extern(C) int function(GtkFlowBoxChild* child, void* userData) GtkFlowBoxFilterFunc;
11973 
11974 /**
11975  * A function used by gtk_flow_box_selected_foreach().
11976  * It will be called on every selected child of the @box.
11977  *
11978  * Params:
11979  *     box = a #GtkFlowBox
11980  *     child = a #GtkFlowBoxChild
11981  *     userData = user data
11982  *
11983  * Since: 3.12
11984  */
11985 public alias extern(C) void function(GtkFlowBox* box, GtkFlowBoxChild* child, void* userData) GtkFlowBoxForeachFunc;
11986 
11987 /**
11988  * A function to compare two children to determine which
11989  * should come first.
11990  *
11991  * Params:
11992  *     child1 = the first child
11993  *     child2 = the second child
11994  *     userData = user data
11995  *
11996  * Returns: < 0 if @child1 should be before @child2, 0 if
11997  *     the are equal, and > 0 otherwise
11998  *
11999  * Since: 3.12
12000  */
12001 public alias extern(C) int function(GtkFlowBoxChild* child1, GtkFlowBoxChild* child2, void* userData) GtkFlowBoxSortFunc;
12002 
12003 /**
12004  * The type of function that is used for deciding what fonts get
12005  * shown in a #GtkFontChooser. See gtk_font_chooser_set_filter_func().
12006  *
12007  * Params:
12008  *     family = a #PangoFontFamily
12009  *     face = a #PangoFontFace belonging to @family
12010  *     data = user data passed to gtk_font_chooser_set_filter_func()
12011  *
12012  * Returns: %TRUE if the font should be displayed
12013  */
12014 public alias extern(C) int function(PangoFontFamily* family, PangoFontFace* face, void* data) GtkFontFilterFunc;
12015 
12016 /**
12017  * A function used by gtk_icon_view_selected_foreach() to map all
12018  * selected rows.  It will be called on every selected row in the view.
12019  *
12020  * Params:
12021  *     iconView = a #GtkIconView
12022  *     path = The #GtkTreePath of a selected row
12023  *     data = user data
12024  */
12025 public alias extern(C) void function(GtkIconView* iconView, GtkTreePath* path, void* data) GtkIconViewForeachFunc;
12026 
12027 /**
12028  * Key snooper functions are called before normal event delivery.
12029  * They can be used to implement custom key event handling.
12030  *
12031  * Params:
12032  *     grabWidget = the widget to which the event will be delivered
12033  *     event = the key event
12034  *     funcData = data supplied to gtk_key_snooper_install()
12035  *
12036  * Returns: %TRUE to stop further processing of @event, %FALSE to continue.
12037  */
12038 public alias extern(C) int function(GtkWidget* grabWidget, GdkEventKey* event, void* funcData) GtkKeySnoopFunc;
12039 
12040 /**
12041  * Called for list boxes that are bound to a #GListModel with
12042  * gtk_list_box_bind_model() for each item that gets added to the model.
12043  *
12044  * Versions of GTK+ prior to 3.18 called gtk_widget_show_all() on the rows
12045  * created by the GtkListBoxCreateWidgetFunc, but this forced all widgets
12046  * inside the row to be shown, and is no longer the case. Applications should
12047  * be updated to show the desired row widgets.
12048  *
12049  * Params:
12050  *     item = the item from the model for which to create a widget for
12051  *     userData = user data
12052  *
12053  * Returns: a #GtkWidget that represents @item
12054  *
12055  * Since: 3.16
12056  */
12057 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkListBoxCreateWidgetFunc;
12058 
12059 /**
12060  * Will be called whenever the row changes or is added and lets you control
12061  * if the row should be visible or not.
12062  *
12063  * Params:
12064  *     row = the row that may be filtered
12065  *     userData = user data
12066  *
12067  * Returns: %TRUE if the row should be visible, %FALSE otherwise
12068  *
12069  * Since: 3.10
12070  */
12071 public alias extern(C) int function(GtkListBoxRow* row, void* userData) GtkListBoxFilterFunc;
12072 
12073 /**
12074  * A function used by gtk_list_box_selected_foreach().
12075  * It will be called on every selected child of the @box.
12076  *
12077  * Params:
12078  *     box = a #GtkListBox
12079  *     row = a #GtkListBoxRow
12080  *     userData = user data
12081  *
12082  * Since: 3.14
12083  */
12084 public alias extern(C) void function(GtkListBox* box, GtkListBoxRow* row, void* userData) GtkListBoxForeachFunc;
12085 
12086 /**
12087  * Compare two rows to determine which should be first.
12088  *
12089  * Params:
12090  *     row1 = the first row
12091  *     row2 = the second row
12092  *     userData = user data
12093  *
12094  * Returns: < 0 if @row1 should be before @row2, 0 if they are
12095  *     equal and > 0 otherwise
12096  *
12097  * Since: 3.10
12098  */
12099 public alias extern(C) int function(GtkListBoxRow* row1, GtkListBoxRow* row2, void* userData) GtkListBoxSortFunc;
12100 
12101 /**
12102  * Whenever @row changes or which row is before @row changes this
12103  * is called, which lets you update the header on @row. You may
12104  * remove or set a new one via gtk_list_box_row_set_header() or
12105  * just change the state of the current header widget.
12106  *
12107  * Params:
12108  *     row = the row to update
12109  *     before = the row before @row, or %NULL if it is first
12110  *     userData = user data
12111  *
12112  * Since: 3.10
12113  */
12114 public alias extern(C) void function(GtkListBoxRow* row, GtkListBoxRow* before, void* userData) GtkListBoxUpdateHeaderFunc;
12115 
12116 /**
12117  * A user function supplied when calling gtk_menu_attach_to_widget() which
12118  * will be called when the menu is later detached from the widget.
12119  *
12120  * Params:
12121  *     attachWidget = the #GtkWidget that the menu is being detached from.
12122  *     menu = the #GtkMenu being detached.
12123  */
12124 public alias extern(C) void function(GtkWidget* attachWidget, GtkMenu* menu) GtkMenuDetachFunc;
12125 
12126 /**
12127  * A user function supplied when calling gtk_menu_popup() which
12128  * controls the positioning of the menu when it is displayed.  The
12129  * function sets the @x and @y parameters to the coordinates where the
12130  * menu is to be drawn.  To make the menu appear on a different
12131  * monitor than the mouse pointer, gtk_menu_set_monitor() must be
12132  * called.
12133  *
12134  * Params:
12135  *     menu = a #GtkMenu.
12136  *     x = address of the #gint representing the horizontal
12137  *         position where the menu shall be drawn.
12138  *     y = address of the #gint representing the vertical position
12139  *         where the menu shall be drawn.  This is an output parameter.
12140  *     pushIn = This parameter controls how menus placed outside
12141  *         the monitor are handled.  If this is set to %TRUE and part of
12142  *         the menu is outside the monitor then GTK+ pushes the window
12143  *         into the visible area, effectively modifying the popup
12144  *         position.  Note that moving and possibly resizing the menu
12145  *         around will alter the scroll position to keep the menu items
12146  *         “in place”, i.e. at the same monitor position they would have
12147  *         been without resizing.  In practice, this behavior is only
12148  *         useful for combobox popups or option menus and cannot be used
12149  *         to simply confine a menu to monitor boundaries.  In that case,
12150  *         changing the scroll offset is not desirable.
12151  *     userData = the data supplied by the user in the gtk_menu_popup()
12152  *         @data parameter.
12153  */
12154 public alias extern(C) void function(GtkMenu* menu, int* x, int* y, int* pushIn, void* userData) GtkMenuPositionFunc;
12155 
12156 /**
12157  * A multihead-aware GTK+ module may have a gtk_module_display_init() function
12158  * with this prototype. GTK+ calls this function for each opened display.
12159  *
12160  * Params:
12161  *     display = an open #GdkDisplay
12162  *
12163  * Since: 2.2
12164  */
12165 public alias extern(C) void function(GdkDisplay* display) GtkModuleDisplayInitFunc;
12166 
12167 /**
12168  * Each GTK+ module must have a function gtk_module_init() with this prototype.
12169  * This function is called after loading the module.
12170  *
12171  * Params:
12172  *     argc = GTK+ always passes %NULL for this argument
12173  *     argv = GTK+ always passes %NULL for this argument
12174  */
12175 public alias extern(C) void function(int* argc, char*** argv) GtkModuleInitFunc;
12176 
12177 /**
12178  * The type of function that is passed to
12179  * gtk_print_run_page_setup_dialog_async().
12180  *
12181  * This function will be called when the page setup dialog
12182  * is dismissed, and also serves as destroy notify for @data.
12183  *
12184  * Params:
12185  *     pageSetup = the #GtkPageSetup that has been
12186  *     data = user data that has been passed to
12187  *         gtk_print_run_page_setup_dialog_async()
12188  */
12189 public alias extern(C) void function(GtkPageSetup* pageSetup, void* data) GtkPageSetupDoneFunc;
12190 
12191 /** */
12192 public alias extern(C) void function(const(char)* key, const(char)* value, void* userData) GtkPrintSettingsFunc;
12193 
12194 /** */
12195 public alias extern(C) int function(GParamSpec* pspec, GString* rcString, GValue* propertyValue) GtkRcPropertyParser;
12196 
12197 /**
12198  * The type of function that is used with custom filters,
12199  * see gtk_recent_filter_add_custom().
12200  *
12201  * Params:
12202  *     filterInfo = a #GtkRecentFilterInfo that is filled according
12203  *         to the @needed flags passed to gtk_recent_filter_add_custom()
12204  *     userData = user data passed to gtk_recent_filter_add_custom()
12205  *
12206  * Returns: %TRUE if the file should be displayed
12207  */
12208 public alias extern(C) int function(GtkRecentFilterInfo* filterInfo, void* userData) GtkRecentFilterFunc;
12209 
12210 /** */
12211 public alias extern(C) int function(GtkRecentInfo* a, GtkRecentInfo* b, void* userData) GtkRecentSortFunc;
12212 
12213 /** */
12214 public alias extern(C) int function(const(char)* string_, GValue* value, GError** err) GtkStylePropertyParser;
12215 
12216 /**
12217  * A function that is called to deserialize rich text that has been
12218  * serialized with gtk_text_buffer_serialize(), and insert it at @iter.
12219  *
12220  * Params:
12221  *     registerBuffer = the #GtkTextBuffer the format is registered with
12222  *     contentBuffer = the #GtkTextBuffer to deserialize into
12223  *     iter = insertion point for the deserialized text
12224  *     data = data to deserialize
12225  *     length = length of @data
12226  *     createTags = %TRUE if deserializing may create tags
12227  *     userData = user data that was specified when registering the format
12228  *
12229  * Returns: %TRUE on success, %FALSE otherwise
12230  *
12231  * Throws: GException on failure.
12232  */
12233 public alias extern(C) int function(GtkTextBuffer* registerBuffer, GtkTextBuffer* contentBuffer, GtkTextIter* iter, ubyte* data, size_t length, int createTags, void* userData, GError** err) GtkTextBufferDeserializeFunc;
12234 
12235 /**
12236  * A function that is called to serialize the content of a text buffer.
12237  * It must return the serialized form of the content.
12238  *
12239  * Params:
12240  *     registerBuffer = the #GtkTextBuffer for which the format is registered
12241  *     contentBuffer = the #GtkTextBuffer to serialize
12242  *     start = start of the block of text to serialize
12243  *     end = end of the block of text to serialize
12244  *     length = Return location for the length of the serialized data
12245  *     userData = user data that was specified when registering the format
12246  *
12247  * Returns: a newly-allocated array of guint8 which contains
12248  *     the serialized data, or %NULL if an error occurred
12249  */
12250 public alias extern(C) ubyte* function(GtkTextBuffer* registerBuffer, GtkTextBuffer* contentBuffer, GtkTextIter* start, GtkTextIter* end, size_t* length, void* userData) GtkTextBufferSerializeFunc;
12251 
12252 /** */
12253 public alias extern(C) int function(dchar ch, void* userData) GtkTextCharPredicate;
12254 
12255 /** */
12256 public alias extern(C) void function(GtkTextTag* tag, void* data) GtkTextTagTableForeach;
12257 
12258 /**
12259  * Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().
12260  *
12261  * Params:
12262  *     widget = the widget
12263  *     frameClock = the frame clock for the widget (same as calling gtk_widget_get_frame_clock())
12264  *     userData = user data passed to gtk_widget_add_tick_callback().
12265  *
12266  * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called,
12267  *     %G_SOURCE_REMOVE if the tick callback should be removed.
12268  *
12269  * Since: 3.8
12270  */
12271 public alias extern(C) int function(GtkWidget* widget, GdkFrameClock* frameClock, void* userData) GtkTickCallback;
12272 
12273 /**
12274  * The function used to translate messages in e.g. #GtkIconFactory
12275  * and #GtkActionGroup.
12276  *
12277  * Params:
12278  *     path = The id of the message. In #GtkActionGroup this will be a label
12279  *         or tooltip from a #GtkActionEntry.
12280  *     funcData = user data passed in when registering the
12281  *         function
12282  *
12283  * Returns: the translated message
12284  */
12285 public alias extern(C) char* function(const(char)* path, void* funcData) GtkTranslateFunc;
12286 
12287 /**
12288  * A function to set the properties of a cell instead of just using the
12289  * straight mapping between the cell and the model.  This is useful for
12290  * customizing the cell renderer.  For example, a function might get an
12291  * integer from the @tree_model, and render it to the “text” attribute of
12292  * “cell” by converting it to its written equivalent.  This is set by
12293  * calling gtk_tree_view_column_set_cell_data_func()
12294  *
12295  * Params:
12296  *     treeColumn = A #GtkTreeViewColumn
12297  *     cell = The #GtkCellRenderer that is being rendered by @tree_column
12298  *     treeModel = The #GtkTreeModel being rendered
12299  *     iter = A #GtkTreeIter of the current row rendered
12300  *     data = user data
12301  */
12302 public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkTreeCellDataFunc;
12303 
12304 /** */
12305 public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, int children, void* userData) GtkTreeDestroyCountFunc;
12306 
12307 /**
12308  * A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive
12309  * integer if @a sorts before @b, @a sorts with @b, or @a sorts after @b
12310  * respectively. If two iters compare as equal, their order in the sorted model
12311  * is undefined. In order to ensure that the #GtkTreeSortable behaves as
12312  * expected, the GtkTreeIterCompareFunc must define a partial order on
12313  * the model, i.e. it must be reflexive, antisymmetric and transitive.
12314  *
12315  * For example, if @model is a product catalogue, then a compare function
12316  * for the “price” column could be one which returns
12317  * `price_of(@a) - price_of(@b)`.
12318  *
12319  * Params:
12320  *     model = The #GtkTreeModel the comparison is within
12321  *     a = A #GtkTreeIter in @model
12322  *     b = Another #GtkTreeIter in @model
12323  *     userData = Data passed when the compare func is assigned e.g. by
12324  *         gtk_tree_sortable_set_sort_func()
12325  *
12326  * Returns: a negative integer, zero or a positive integer depending on whether
12327  *     @a sorts before, with or after @b
12328  */
12329 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, void* userData) GtkTreeIterCompareFunc;
12330 
12331 /**
12332  * A function which calculates display values from raw values in the model.
12333  * It must fill @value with the display value for the column @column in the
12334  * row indicated by @iter.
12335  *
12336  * Since this function is called for each data access, it’s not a
12337  * particularly efficient operation.
12338  *
12339  * Params:
12340  *     model = the #GtkTreeModelFilter
12341  *     iter = a #GtkTreeIter pointing to the row whose display values are determined
12342  *     value = A #GValue which is already initialized for
12343  *         with the correct type for the column @column.
12344  *     column = the column whose display value is determined
12345  *     data = user data given to gtk_tree_model_filter_set_modify_func()
12346  */
12347 public alias extern(C) void function(GtkTreeModel* model, GtkTreeIter* iter, GValue* value, int column, void* data) GtkTreeModelFilterModifyFunc;
12348 
12349 /**
12350  * A function which decides whether the row indicated by @iter is visible.
12351  *
12352  * Params:
12353  *     model = the child model of the #GtkTreeModelFilter
12354  *     iter = a #GtkTreeIter pointing to the row in @model whose visibility
12355  *         is determined
12356  *     data = user data given to gtk_tree_model_filter_set_visible_func()
12357  *
12358  * Returns: Whether the row indicated by @iter is visible.
12359  */
12360 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeModelFilterVisibleFunc;
12361 
12362 /**
12363  * Type of the callback passed to gtk_tree_model_foreach() to
12364  * iterate over the rows in a tree model.
12365  *
12366  * Params:
12367  *     model = the #GtkTreeModel being iterated
12368  *     path = the current #GtkTreePath
12369  *     iter = the current #GtkTreeIter
12370  *     data = The user data passed to gtk_tree_model_foreach()
12371  *
12372  * Returns: %TRUE to stop iterating, %FALSE to continue
12373  */
12374 public alias extern(C) int function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeModelForeachFunc;
12375 
12376 /**
12377  * A function used by gtk_tree_selection_selected_foreach() to map all
12378  * selected rows.  It will be called on every selected row in the view.
12379  *
12380  * Params:
12381  *     model = The #GtkTreeModel being viewed
12382  *     path = The #GtkTreePath of a selected row
12383  *     iter = A #GtkTreeIter pointing to a selected row
12384  *     data = user data
12385  */
12386 public alias extern(C) void function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeSelectionForeachFunc;
12387 
12388 /**
12389  * A function used by gtk_tree_selection_set_select_function() to filter
12390  * whether or not a row may be selected.  It is called whenever a row's
12391  * state might change.  A return value of %TRUE indicates to @selection
12392  * that it is okay to change the selection.
12393  *
12394  * Params:
12395  *     selection = A #GtkTreeSelection
12396  *     model = A #GtkTreeModel being viewed
12397  *     path = The #GtkTreePath of the row in question
12398  *     pathCurrentlySelected = %TRUE, if the path is currently selected
12399  *     data = user data
12400  *
12401  * Returns: %TRUE, if the selection state of the row can be toggled
12402  */
12403 public alias extern(C) int function(GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, int pathCurrentlySelected, void* data) GtkTreeSelectionFunc;
12404 
12405 /**
12406  * Function type for determining whether @column can be dropped in a
12407  * particular spot (as determined by @prev_column and @next_column).  In
12408  * left to right locales, @prev_column is on the left of the potential drop
12409  * spot, and @next_column is on the right.  In right to left mode, this is
12410  * reversed.  This function should return %TRUE if the spot is a valid drop
12411  * spot.  Please note that returning %TRUE does not actually indicate that
12412  * the column drop was made, but is meant only to indicate a possible drop
12413  * spot to the user.
12414  *
12415  * Params:
12416  *     treeView = A #GtkTreeView
12417  *     column = The #GtkTreeViewColumn being dragged
12418  *     prevColumn = A #GtkTreeViewColumn on one side of @column
12419  *     nextColumn = A #GtkTreeViewColumn on the other side of @column
12420  *     data = user data
12421  *
12422  * Returns: %TRUE, if @column can be dropped in this spot
12423  */
12424 public alias extern(C) int function(GtkTreeView* treeView, GtkTreeViewColumn* column, GtkTreeViewColumn* prevColumn, GtkTreeViewColumn* nextColumn, void* data) GtkTreeViewColumnDropFunc;
12425 
12426 /**
12427  * Function used for gtk_tree_view_map_expanded_rows().
12428  *
12429  * Params:
12430  *     treeView = A #GtkTreeView
12431  *     path = The path that’s expanded
12432  *     userData = user data
12433  */
12434 public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, void* userData) GtkTreeViewMappingFunc;
12435 
12436 /**
12437  * Function type for determining whether the row pointed to by @iter should
12438  * be rendered as a separator. A common way to implement this is to have a
12439  * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
12440  * returns.
12441  *
12442  * Params:
12443  *     model = the #GtkTreeModel
12444  *     iter = a #GtkTreeIter pointing at a row in @model
12445  *     data = user data
12446  *
12447  * Returns: %TRUE if the row is a separator
12448  */
12449 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeViewRowSeparatorFunc;
12450 
12451 /**
12452  * A function used for checking whether a row in @model matches
12453  * a search key string entered by the user. Note the return value
12454  * is reversed from what you would normally expect, though it
12455  * has some similarity to strcmp() returning 0 for equal strings.
12456  *
12457  * Params:
12458  *     model = the #GtkTreeModel being searched
12459  *     column = the search column set by gtk_tree_view_set_search_column()
12460  *     key = the key string to compare with
12461  *     iter = a #GtkTreeIter pointing the row of @model that should be compared
12462  *         with @key.
12463  *     searchData = user data from gtk_tree_view_set_search_equal_func()
12464  *
12465  * Returns: %FALSE if the row matches, %TRUE otherwise.
12466  */
12467 public alias extern(C) int function(GtkTreeModel* model, int column, const(char)* key, GtkTreeIter* iter, void* searchData) GtkTreeViewSearchEqualFunc;
12468 
12469 /** */
12470 public alias extern(C) void function(GtkTreeView* treeView, GtkWidget* searchDialog, void* userData) GtkTreeViewSearchPositionFunc;
12471 
12472 /**
12473  * Like gtk_get_binary_age(), but from the headers used at
12474  * application compile time, rather than from the library linked
12475  * against at application run time.
12476  */
12477 enum BINARY_AGE = 2408;
12478 alias GTK_BINARY_AGE = BINARY_AGE;
12479 
12480 /**
12481  * Constant to return from a signal handler for the #GtkSpinButton::input
12482  * signal in case of conversion failure.
12483  */
12484 enum INPUT_ERROR = -1;
12485 alias GTK_INPUT_ERROR = INPUT_ERROR;
12486 
12487 /**
12488  * Like gtk_get_interface_age(), but from the headers used at
12489  * application compile time, rather than from the library linked
12490  * against at application run time.
12491  */
12492 enum INTERFACE_AGE = 4;
12493 alias GTK_INTERFACE_AGE = INTERFACE_AGE;
12494 
12495 /**
12496  * The name used for the stock full offset included by #GtkLevelBar.
12497  */
12498 enum LEVEL_BAR_OFFSET_FULL = "full";
12499 alias GTK_LEVEL_BAR_OFFSET_FULL = LEVEL_BAR_OFFSET_FULL;
12500 
12501 /**
12502  * The name used for the stock high offset included by #GtkLevelBar.
12503  */
12504 enum LEVEL_BAR_OFFSET_HIGH = "high";
12505 alias GTK_LEVEL_BAR_OFFSET_HIGH = LEVEL_BAR_OFFSET_HIGH;
12506 
12507 /**
12508  * The name used for the stock low offset included by #GtkLevelBar.
12509  */
12510 enum LEVEL_BAR_OFFSET_LOW = "low";
12511 alias GTK_LEVEL_BAR_OFFSET_LOW = LEVEL_BAR_OFFSET_LOW;
12512 
12513 /**
12514  * Like gtk_get_major_version(), but from the headers used at
12515  * application compile time, rather than from the library linked
12516  * against at application run time.
12517  */
12518 enum MAJOR_VERSION = 3;
12519 alias GTK_MAJOR_VERSION = MAJOR_VERSION;
12520 
12521 /**
12522  * The maximum length of sequences in compose tables.
12523  */
12524 enum MAX_COMPOSE_LEN = 7;
12525 alias GTK_MAX_COMPOSE_LEN = MAX_COMPOSE_LEN;
12526 
12527 /**
12528  * Like gtk_get_micro_version(), but from the headers used at
12529  * application compile time, rather than from the library linked
12530  * against at application run time.
12531  */
12532 enum MICRO_VERSION = 8;
12533 alias GTK_MICRO_VERSION = MICRO_VERSION;
12534 
12535 /**
12536  * Like gtk_get_minor_version(), but from the headers used at
12537  * application compile time, rather than from the library linked
12538  * against at application run time.
12539  */
12540 enum MINOR_VERSION = 24;
12541 alias GTK_MINOR_VERSION = MINOR_VERSION;
12542 
12543 /**
12544  * Name for the A3 paper size.
12545  */
12546 enum PAPER_NAME_A3 = "iso_a3";
12547 alias GTK_PAPER_NAME_A3 = PAPER_NAME_A3;
12548 
12549 /**
12550  * Name for the A4 paper size.
12551  */
12552 enum PAPER_NAME_A4 = "iso_a4";
12553 alias GTK_PAPER_NAME_A4 = PAPER_NAME_A4;
12554 
12555 /**
12556  * Name for the A5 paper size.
12557  */
12558 enum PAPER_NAME_A5 = "iso_a5";
12559 alias GTK_PAPER_NAME_A5 = PAPER_NAME_A5;
12560 
12561 /**
12562  * Name for the B5 paper size.
12563  */
12564 enum PAPER_NAME_B5 = "iso_b5";
12565 alias GTK_PAPER_NAME_B5 = PAPER_NAME_B5;
12566 
12567 /**
12568  * Name for the Executive paper size.
12569  */
12570 enum PAPER_NAME_EXECUTIVE = "na_executive";
12571 alias GTK_PAPER_NAME_EXECUTIVE = PAPER_NAME_EXECUTIVE;
12572 
12573 /**
12574  * Name for the Legal paper size.
12575  */
12576 enum PAPER_NAME_LEGAL = "na_legal";
12577 alias GTK_PAPER_NAME_LEGAL = PAPER_NAME_LEGAL;
12578 
12579 /**
12580  * Name for the Letter paper size.
12581  */
12582 enum PAPER_NAME_LETTER = "na_letter";
12583 alias GTK_PAPER_NAME_LETTER = PAPER_NAME_LETTER;
12584 
12585 enum PATH_PRIO_MASK = 15;
12586 alias GTK_PATH_PRIO_MASK = PATH_PRIO_MASK;
12587 
12588 enum PRINT_SETTINGS_COLLATE = "collate";
12589 alias GTK_PRINT_SETTINGS_COLLATE = PRINT_SETTINGS_COLLATE;
12590 
12591 enum PRINT_SETTINGS_DEFAULT_SOURCE = "default-source";
12592 alias GTK_PRINT_SETTINGS_DEFAULT_SOURCE = PRINT_SETTINGS_DEFAULT_SOURCE;
12593 
12594 enum PRINT_SETTINGS_DITHER = "dither";
12595 alias GTK_PRINT_SETTINGS_DITHER = PRINT_SETTINGS_DITHER;
12596 
12597 enum PRINT_SETTINGS_DUPLEX = "duplex";
12598 alias GTK_PRINT_SETTINGS_DUPLEX = PRINT_SETTINGS_DUPLEX;
12599 
12600 enum PRINT_SETTINGS_FINISHINGS = "finishings";
12601 alias GTK_PRINT_SETTINGS_FINISHINGS = PRINT_SETTINGS_FINISHINGS;
12602 
12603 enum PRINT_SETTINGS_MEDIA_TYPE = "media-type";
12604 alias GTK_PRINT_SETTINGS_MEDIA_TYPE = PRINT_SETTINGS_MEDIA_TYPE;
12605 
12606 enum PRINT_SETTINGS_NUMBER_UP = "number-up";
12607 alias GTK_PRINT_SETTINGS_NUMBER_UP = PRINT_SETTINGS_NUMBER_UP;
12608 
12609 enum PRINT_SETTINGS_NUMBER_UP_LAYOUT = "number-up-layout";
12610 alias GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT = PRINT_SETTINGS_NUMBER_UP_LAYOUT;
12611 
12612 enum PRINT_SETTINGS_N_COPIES = "n-copies";
12613 alias GTK_PRINT_SETTINGS_N_COPIES = PRINT_SETTINGS_N_COPIES;
12614 
12615 enum PRINT_SETTINGS_ORIENTATION = "orientation";
12616 alias GTK_PRINT_SETTINGS_ORIENTATION = PRINT_SETTINGS_ORIENTATION;
12617 
12618 /**
12619  * The key used by the “Print to file” printer to store the file
12620  * name of the output without the path to the directory and the
12621  * file extension.
12622  */
12623 enum PRINT_SETTINGS_OUTPUT_BASENAME = "output-basename";
12624 alias GTK_PRINT_SETTINGS_OUTPUT_BASENAME = PRINT_SETTINGS_OUTPUT_BASENAME;
12625 
12626 enum PRINT_SETTINGS_OUTPUT_BIN = "output-bin";
12627 alias GTK_PRINT_SETTINGS_OUTPUT_BIN = PRINT_SETTINGS_OUTPUT_BIN;
12628 
12629 /**
12630  * The key used by the “Print to file” printer to store the
12631  * directory to which the output should be written.
12632  */
12633 enum PRINT_SETTINGS_OUTPUT_DIR = "output-dir";
12634 alias GTK_PRINT_SETTINGS_OUTPUT_DIR = PRINT_SETTINGS_OUTPUT_DIR;
12635 
12636 /**
12637  * The key used by the “Print to file” printer to store the format
12638  * of the output. The supported values are “PS” and “PDF”.
12639  */
12640 enum PRINT_SETTINGS_OUTPUT_FILE_FORMAT = "output-file-format";
12641 alias GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT = PRINT_SETTINGS_OUTPUT_FILE_FORMAT;
12642 
12643 /**
12644  * The key used by the “Print to file” printer to store the URI
12645  * to which the output should be written. GTK+ itself supports
12646  * only “file://” URIs.
12647  */
12648 enum PRINT_SETTINGS_OUTPUT_URI = "output-uri";
12649 alias GTK_PRINT_SETTINGS_OUTPUT_URI = PRINT_SETTINGS_OUTPUT_URI;
12650 
12651 enum PRINT_SETTINGS_PAGE_RANGES = "page-ranges";
12652 alias GTK_PRINT_SETTINGS_PAGE_RANGES = PRINT_SETTINGS_PAGE_RANGES;
12653 
12654 enum PRINT_SETTINGS_PAGE_SET = "page-set";
12655 alias GTK_PRINT_SETTINGS_PAGE_SET = PRINT_SETTINGS_PAGE_SET;
12656 
12657 enum PRINT_SETTINGS_PAPER_FORMAT = "paper-format";
12658 alias GTK_PRINT_SETTINGS_PAPER_FORMAT = PRINT_SETTINGS_PAPER_FORMAT;
12659 
12660 enum PRINT_SETTINGS_PAPER_HEIGHT = "paper-height";
12661 alias GTK_PRINT_SETTINGS_PAPER_HEIGHT = PRINT_SETTINGS_PAPER_HEIGHT;
12662 
12663 enum PRINT_SETTINGS_PAPER_WIDTH = "paper-width";
12664 alias GTK_PRINT_SETTINGS_PAPER_WIDTH = PRINT_SETTINGS_PAPER_WIDTH;
12665 
12666 enum PRINT_SETTINGS_PRINTER = "printer";
12667 alias GTK_PRINT_SETTINGS_PRINTER = PRINT_SETTINGS_PRINTER;
12668 
12669 enum PRINT_SETTINGS_PRINTER_LPI = "printer-lpi";
12670 alias GTK_PRINT_SETTINGS_PRINTER_LPI = PRINT_SETTINGS_PRINTER_LPI;
12671 
12672 enum PRINT_SETTINGS_PRINT_PAGES = "print-pages";
12673 alias GTK_PRINT_SETTINGS_PRINT_PAGES = PRINT_SETTINGS_PRINT_PAGES;
12674 
12675 enum PRINT_SETTINGS_QUALITY = "quality";
12676 alias GTK_PRINT_SETTINGS_QUALITY = PRINT_SETTINGS_QUALITY;
12677 
12678 enum PRINT_SETTINGS_RESOLUTION = "resolution";
12679 alias GTK_PRINT_SETTINGS_RESOLUTION = PRINT_SETTINGS_RESOLUTION;
12680 
12681 enum PRINT_SETTINGS_RESOLUTION_X = "resolution-x";
12682 alias GTK_PRINT_SETTINGS_RESOLUTION_X = PRINT_SETTINGS_RESOLUTION_X;
12683 
12684 enum PRINT_SETTINGS_RESOLUTION_Y = "resolution-y";
12685 alias GTK_PRINT_SETTINGS_RESOLUTION_Y = PRINT_SETTINGS_RESOLUTION_Y;
12686 
12687 enum PRINT_SETTINGS_REVERSE = "reverse";
12688 alias GTK_PRINT_SETTINGS_REVERSE = PRINT_SETTINGS_REVERSE;
12689 
12690 enum PRINT_SETTINGS_SCALE = "scale";
12691 alias GTK_PRINT_SETTINGS_SCALE = PRINT_SETTINGS_SCALE;
12692 
12693 enum PRINT_SETTINGS_USE_COLOR = "use-color";
12694 alias GTK_PRINT_SETTINGS_USE_COLOR = PRINT_SETTINGS_USE_COLOR;
12695 
12696 enum PRINT_SETTINGS_WIN32_DRIVER_EXTRA = "win32-driver-extra";
12697 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA = PRINT_SETTINGS_WIN32_DRIVER_EXTRA;
12698 
12699 enum PRINT_SETTINGS_WIN32_DRIVER_VERSION = "win32-driver-version";
12700 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION = PRINT_SETTINGS_WIN32_DRIVER_VERSION;
12701 
12702 /**
12703  * Use this priority for functionality related to size allocation.
12704  *
12705  * It is used internally by GTK+ to compute the sizes of widgets.
12706  * This priority is higher than %GDK_PRIORITY_REDRAW to avoid
12707  * resizing a widget which was just redrawn.
12708  */
12709 enum PRIORITY_RESIZE = 110;
12710 alias GTK_PRIORITY_RESIZE = PRIORITY_RESIZE;
12711 
12712 /**
12713  * A CSS class to match an accelerator.
12714  *
12715  * Refer to individual widget documentation for used style classes.
12716  */
12717 enum STYLE_CLASS_ACCELERATOR = "accelerator";
12718 alias GTK_STYLE_CLASS_ACCELERATOR = STYLE_CLASS_ACCELERATOR;
12719 
12720 /**
12721  * A CSS class used when rendering an arrow element.
12722  *
12723  * Refer to individual widget documentation for used style classes.
12724  */
12725 enum STYLE_CLASS_ARROW = "arrow";
12726 alias GTK_STYLE_CLASS_ARROW = STYLE_CLASS_ARROW;
12727 
12728 /**
12729  * A CSS class to match the window background.
12730  *
12731  * Refer to individual widget documentation for used style classes.
12732  */
12733 enum STYLE_CLASS_BACKGROUND = "background";
12734 alias GTK_STYLE_CLASS_BACKGROUND = STYLE_CLASS_BACKGROUND;
12735 
12736 /**
12737  * A CSS class to indicate an area at the bottom of a widget.
12738  *
12739  * Refer to individual widget documentation for used style classes.
12740  */
12741 enum STYLE_CLASS_BOTTOM = "bottom";
12742 alias GTK_STYLE_CLASS_BOTTOM = STYLE_CLASS_BOTTOM;
12743 
12744 /**
12745  * A CSS class to match buttons.
12746  *
12747  * Refer to individual widget documentation for used style classes.
12748  */
12749 enum STYLE_CLASS_BUTTON = "button";
12750 alias GTK_STYLE_CLASS_BUTTON = STYLE_CLASS_BUTTON;
12751 
12752 /**
12753  * A CSS class to match calendars.
12754  *
12755  * Refer to individual widget documentation for used style classes.
12756  */
12757 enum STYLE_CLASS_CALENDAR = "calendar";
12758 alias GTK_STYLE_CLASS_CALENDAR = STYLE_CLASS_CALENDAR;
12759 
12760 /**
12761  * A CSS class to match content rendered in cell views.
12762  *
12763  * Refer to individual widget documentation for used style classes.
12764  */
12765 enum STYLE_CLASS_CELL = "cell";
12766 alias GTK_STYLE_CLASS_CELL = STYLE_CLASS_CELL;
12767 
12768 /**
12769  * A CSS class to match check boxes.
12770  *
12771  * Refer to individual widget documentation for used style classes.
12772  */
12773 enum STYLE_CLASS_CHECK = "check";
12774 alias GTK_STYLE_CLASS_CHECK = STYLE_CLASS_CHECK;
12775 
12776 /**
12777  * A CSS class to match combobox entries.
12778  *
12779  * Refer to individual widget documentation for used style classes.
12780  */
12781 enum STYLE_CLASS_COMBOBOX_ENTRY = "combobox-entry";
12782 alias GTK_STYLE_CLASS_COMBOBOX_ENTRY = STYLE_CLASS_COMBOBOX_ENTRY;
12783 
12784 /**
12785  * A CSS class to match context menus.
12786  *
12787  * Refer to individual widget documentation for used style classes.
12788  */
12789 enum STYLE_CLASS_CONTEXT_MENU = "context-menu";
12790 alias GTK_STYLE_CLASS_CONTEXT_MENU = STYLE_CLASS_CONTEXT_MENU;
12791 
12792 /**
12793  * A CSS class that gets added to windows which have client-side decorations.
12794  *
12795  * Refer to individual widget documentation for used style classes.
12796  */
12797 enum STYLE_CLASS_CSD = "csd";
12798 alias GTK_STYLE_CLASS_CSD = STYLE_CLASS_CSD;
12799 
12800 /**
12801  * A CSS class used when rendering a drag handle for
12802  * text selection.
12803  *
12804  * Refer to individual widget documentation for used style classes.
12805  */
12806 enum STYLE_CLASS_CURSOR_HANDLE = "cursor-handle";
12807 alias GTK_STYLE_CLASS_CURSOR_HANDLE = STYLE_CLASS_CURSOR_HANDLE;
12808 
12809 /**
12810  * A CSS class to match the default widget.
12811  *
12812  * Refer to individual widget documentation for used style classes.
12813  */
12814 enum STYLE_CLASS_DEFAULT = "default";
12815 alias GTK_STYLE_CLASS_DEFAULT = STYLE_CLASS_DEFAULT;
12816 
12817 /**
12818  * A CSS class used when an action (usually a button) is
12819  * one that is expected to remove or destroy something visible
12820  * to the user.
12821  *
12822  * Refer to individual widget documentation for used style classes.
12823  */
12824 enum STYLE_CLASS_DESTRUCTIVE_ACTION = "destructive-action";
12825 alias GTK_STYLE_CLASS_DESTRUCTIVE_ACTION = STYLE_CLASS_DESTRUCTIVE_ACTION;
12826 
12827 /**
12828  * A CSS class to match dimmed labels.
12829  *
12830  * Refer to individual widget documentation for used style classes.
12831  */
12832 enum STYLE_CLASS_DIM_LABEL = "dim-label";
12833 alias GTK_STYLE_CLASS_DIM_LABEL = STYLE_CLASS_DIM_LABEL;
12834 
12835 /**
12836  * A CSS class for a drag-and-drop indicator.
12837  *
12838  * Refer to individual widget documentation for used style classes.
12839  */
12840 enum STYLE_CLASS_DND = "dnd";
12841 alias GTK_STYLE_CLASS_DND = STYLE_CLASS_DND;
12842 
12843 /**
12844  * A CSS class defining a dock area.
12845  *
12846  * Refer to individual widget documentation for used style classes.
12847  */
12848 enum STYLE_CLASS_DOCK = "dock";
12849 alias GTK_STYLE_CLASS_DOCK = STYLE_CLASS_DOCK;
12850 
12851 /**
12852  * A CSS class to match text entries.
12853  *
12854  * Refer to individual widget documentation for used style classes.
12855  */
12856 enum STYLE_CLASS_ENTRY = "entry";
12857 alias GTK_STYLE_CLASS_ENTRY = STYLE_CLASS_ENTRY;
12858 
12859 /**
12860  * A CSS class for an area displaying an error message,
12861  * such as those in infobars.
12862  *
12863  * Refer to individual widget documentation for used style classes.
12864  */
12865 enum STYLE_CLASS_ERROR = "error";
12866 alias GTK_STYLE_CLASS_ERROR = STYLE_CLASS_ERROR;
12867 
12868 /**
12869  * A CSS class defining an expander, such as those in treeviews.
12870  *
12871  * Refer to individual widget documentation for used style classes.
12872  */
12873 enum STYLE_CLASS_EXPANDER = "expander";
12874 alias GTK_STYLE_CLASS_EXPANDER = STYLE_CLASS_EXPANDER;
12875 
12876 /**
12877  * A CSS class that is added when widgets that usually have
12878  * a frame or border (like buttons or entries) should appear
12879  * without it.
12880  *
12881  * Refer to individual widget documentation for used style classes.
12882  */
12883 enum STYLE_CLASS_FLAT = "flat";
12884 alias GTK_STYLE_CLASS_FLAT = STYLE_CLASS_FLAT;
12885 
12886 /**
12887  * A CSS class defining a frame delimiting content, such as
12888  * #GtkFrame or the scrolled window frame around the
12889  * scrollable area.
12890  *
12891  * Refer to individual widget documentation for used style classes.
12892  */
12893 enum STYLE_CLASS_FRAME = "frame";
12894 alias GTK_STYLE_CLASS_FRAME = STYLE_CLASS_FRAME;
12895 
12896 /**
12897  * A CSS class defining a resize grip.
12898  *
12899  * Refer to individual widget documentation for used style classes.
12900  */
12901 enum STYLE_CLASS_GRIP = "grip";
12902 alias GTK_STYLE_CLASS_GRIP = STYLE_CLASS_GRIP;
12903 
12904 /**
12905  * A CSS class to match a header element.
12906  *
12907  * Refer to individual widget documentation for used style classes.
12908  */
12909 enum STYLE_CLASS_HEADER = "header";
12910 alias GTK_STYLE_CLASS_HEADER = STYLE_CLASS_HEADER;
12911 
12912 /**
12913  * A CSS class defining a highlighted area, such as headings in
12914  * assistants and calendars.
12915  *
12916  * Refer to individual widget documentation for used style classes.
12917  */
12918 enum STYLE_CLASS_HIGHLIGHT = "highlight";
12919 alias GTK_STYLE_CLASS_HIGHLIGHT = STYLE_CLASS_HIGHLIGHT;
12920 
12921 /**
12922  * A CSS class for horizontally layered widgets.
12923  *
12924  * Refer to individual widget documentation for used style classes.
12925  */
12926 enum STYLE_CLASS_HORIZONTAL = "horizontal";
12927 alias GTK_STYLE_CLASS_HORIZONTAL = STYLE_CLASS_HORIZONTAL;
12928 
12929 /**
12930  * A CSS class defining an image, such as the icon in an entry.
12931  *
12932  * Refer to individual widget documentation for used style classes.
12933  */
12934 enum STYLE_CLASS_IMAGE = "image";
12935 alias GTK_STYLE_CLASS_IMAGE = STYLE_CLASS_IMAGE;
12936 
12937 /**
12938  * A CSS class for an area displaying an informational message,
12939  * such as those in infobars.
12940  *
12941  * Refer to individual widget documentation for used style classes.
12942  */
12943 enum STYLE_CLASS_INFO = "info";
12944 alias GTK_STYLE_CLASS_INFO = STYLE_CLASS_INFO;
12945 
12946 /**
12947  * A CSS class to match inline toolbars.
12948  *
12949  * Refer to individual widget documentation for used style classes.
12950  */
12951 enum STYLE_CLASS_INLINE_TOOLBAR = "inline-toolbar";
12952 alias GTK_STYLE_CLASS_INLINE_TOOLBAR = STYLE_CLASS_INLINE_TOOLBAR;
12953 
12954 /**
12955  * A CSS class used when rendering a drag handle for
12956  * the insertion cursor position.
12957  *
12958  * Refer to individual widget documentation for used style classes.
12959  */
12960 enum STYLE_CLASS_INSERTION_CURSOR = "insertion-cursor";
12961 alias GTK_STYLE_CLASS_INSERTION_CURSOR = STYLE_CLASS_INSERTION_CURSOR;
12962 
12963 /**
12964  * A CSS class to match labels.
12965  *
12966  * Refer to individual widget documentation for used style classes.
12967  */
12968 enum STYLE_CLASS_LABEL = "label";
12969 alias GTK_STYLE_CLASS_LABEL = STYLE_CLASS_LABEL;
12970 
12971 /**
12972  * A CSS class to indicate an area at the left of a widget.
12973  *
12974  * Refer to individual widget documentation for used style classes.
12975  */
12976 enum STYLE_CLASS_LEFT = "left";
12977 alias GTK_STYLE_CLASS_LEFT = STYLE_CLASS_LEFT;
12978 
12979 /**
12980  * A CSS class used when rendering a level indicator, such
12981  * as a battery charge level, or a password strength.
12982  *
12983  * Refer to individual widget documentation for used style classes.
12984  */
12985 enum STYLE_CLASS_LEVEL_BAR = "level-bar";
12986 alias GTK_STYLE_CLASS_LEVEL_BAR = STYLE_CLASS_LEVEL_BAR;
12987 
12988 /**
12989  * A CSS class to match a linked area, such as a box containing buttons
12990  * belonging to the same control.
12991  *
12992  * Refer to individual widget documentation for used style classes.
12993  */
12994 enum STYLE_CLASS_LINKED = "linked";
12995 alias GTK_STYLE_CLASS_LINKED = STYLE_CLASS_LINKED;
12996 
12997 /**
12998  * A CSS class to match lists.
12999  *
13000  * Refer to individual widget documentation for used style classes.
13001  */
13002 enum STYLE_CLASS_LIST = "list";
13003 alias GTK_STYLE_CLASS_LIST = STYLE_CLASS_LIST;
13004 
13005 /**
13006  * A CSS class to match list rows.
13007  *
13008  * Refer to individual widget documentation for used style classes.
13009  */
13010 enum STYLE_CLASS_LIST_ROW = "list-row";
13011 alias GTK_STYLE_CLASS_LIST_ROW = STYLE_CLASS_LIST_ROW;
13012 
13013 /**
13014  * A CSS class defining marks in a widget, such as in scales.
13015  *
13016  * Refer to individual widget documentation for used style classes.
13017  */
13018 enum STYLE_CLASS_MARK = "mark";
13019 alias GTK_STYLE_CLASS_MARK = STYLE_CLASS_MARK;
13020 
13021 /**
13022  * A CSS class to match menus.
13023  *
13024  * Refer to individual widget documentation for used style classes.
13025  */
13026 enum STYLE_CLASS_MENU = "menu";
13027 alias GTK_STYLE_CLASS_MENU = STYLE_CLASS_MENU;
13028 
13029 /**
13030  * A CSS class to menubars.
13031  *
13032  * Refer to individual widget documentation for used style classes.
13033  */
13034 enum STYLE_CLASS_MENUBAR = "menubar";
13035 alias GTK_STYLE_CLASS_MENUBAR = STYLE_CLASS_MENUBAR;
13036 
13037 /**
13038  * A CSS class to match menu items.
13039  *
13040  * Refer to individual widget documentation for used style classes.
13041  */
13042 enum STYLE_CLASS_MENUITEM = "menuitem";
13043 alias GTK_STYLE_CLASS_MENUITEM = STYLE_CLASS_MENUITEM;
13044 
13045 /**
13046  * A CSS class that is added to message dialogs.
13047  *
13048  * Refer to individual widget documentation for used style classes.
13049  */
13050 enum STYLE_CLASS_MESSAGE_DIALOG = "message-dialog";
13051 alias GTK_STYLE_CLASS_MESSAGE_DIALOG = STYLE_CLASS_MESSAGE_DIALOG;
13052 
13053 /**
13054  * A CSS class that is added to text view that should use
13055  * a monospace font.
13056  *
13057  * Refer to individual widget documentation for used style classes.
13058  */
13059 enum STYLE_CLASS_MONOSPACE = "monospace";
13060 alias GTK_STYLE_CLASS_MONOSPACE = STYLE_CLASS_MONOSPACE;
13061 
13062 /**
13063  * A CSS class used when an element needs the user attention,
13064  * for instance a button in a stack switcher corresponding to
13065  * a hidden page that changed state.
13066  *
13067  * Refer to individual widget documentation for used style classes.
13068  */
13069 enum STYLE_CLASS_NEEDS_ATTENTION = "needs-attention";
13070 alias GTK_STYLE_CLASS_NEEDS_ATTENTION = STYLE_CLASS_NEEDS_ATTENTION;
13071 
13072 /**
13073  * A CSS class defining a notebook.
13074  *
13075  * Refer to individual widget documentation for used style classes.
13076  */
13077 enum STYLE_CLASS_NOTEBOOK = "notebook";
13078 alias GTK_STYLE_CLASS_NOTEBOOK = STYLE_CLASS_NOTEBOOK;
13079 
13080 /**
13081  * A CSS class used when rendering an OSD (On Screen Display) element,
13082  * on top of another container.
13083  *
13084  * Refer to individual widget documentation for used style classes.
13085  */
13086 enum STYLE_CLASS_OSD = "osd";
13087 alias GTK_STYLE_CLASS_OSD = STYLE_CLASS_OSD;
13088 
13089 /**
13090  * A CSS class that is added on the visual hints that happen
13091  * when scrolling is attempted past the limits of a scrollable
13092  * area.
13093  *
13094  * Refer to individual widget documentation for used style classes.
13095  */
13096 enum STYLE_CLASS_OVERSHOOT = "overshoot";
13097 alias GTK_STYLE_CLASS_OVERSHOOT = STYLE_CLASS_OVERSHOOT;
13098 
13099 /**
13100  * A CSS class for a pane separator, such as those in #GtkPaned.
13101  *
13102  * Refer to individual widget documentation for used style classes.
13103  */
13104 enum STYLE_CLASS_PANE_SEPARATOR = "pane-separator";
13105 alias GTK_STYLE_CLASS_PANE_SEPARATOR = STYLE_CLASS_PANE_SEPARATOR;
13106 
13107 /**
13108  * A CSS class that is added to areas that should look like paper.
13109  *
13110  * This is used in print previews and themes are encouraged to
13111  * style it as black text on white background.
13112  *
13113  * Refer to individual widget documentation for used style classes.
13114  */
13115 enum STYLE_CLASS_PAPER = "paper";
13116 alias GTK_STYLE_CLASS_PAPER = STYLE_CLASS_PAPER;
13117 
13118 /**
13119  * A CSS class that matches popovers.
13120  *
13121  * Refer to individual widget documentation for used style classes.
13122  */
13123 enum STYLE_CLASS_POPOVER = "popover";
13124 alias GTK_STYLE_CLASS_POPOVER = STYLE_CLASS_POPOVER;
13125 
13126 /**
13127  * A CSS class that is added to the toplevel windows used for menus.
13128  *
13129  * Refer to individual widget documentation for used style classes.
13130  */
13131 enum STYLE_CLASS_POPUP = "popup";
13132 alias GTK_STYLE_CLASS_POPUP = STYLE_CLASS_POPUP;
13133 
13134 /**
13135  * A CSS class to match primary toolbars.
13136  *
13137  * Refer to individual widget documentation for used style classes.
13138  */
13139 enum STYLE_CLASS_PRIMARY_TOOLBAR = "primary-toolbar";
13140 alias GTK_STYLE_CLASS_PRIMARY_TOOLBAR = STYLE_CLASS_PRIMARY_TOOLBAR;
13141 
13142 /**
13143  * A CSS class to use when rendering activity as a progressbar.
13144  *
13145  * Refer to individual widget documentation for used style classes.
13146  */
13147 enum STYLE_CLASS_PROGRESSBAR = "progressbar";
13148 alias GTK_STYLE_CLASS_PROGRESSBAR = STYLE_CLASS_PROGRESSBAR;
13149 
13150 /**
13151  * A CSS class to use when rendering a pulse in an indeterminate progress bar.
13152  *
13153  * Refer to individual widget documentation for used style classes.
13154  */
13155 enum STYLE_CLASS_PULSE = "pulse";
13156 alias GTK_STYLE_CLASS_PULSE = STYLE_CLASS_PULSE;
13157 
13158 /**
13159  * A CSS class for an area displaying a question to the user,
13160  * such as those in infobars.
13161  *
13162  * Refer to individual widget documentation for used style classes.
13163  */
13164 enum STYLE_CLASS_QUESTION = "question";
13165 alias GTK_STYLE_CLASS_QUESTION = STYLE_CLASS_QUESTION;
13166 
13167 /**
13168  * A CSS class to match radio buttons.
13169  *
13170  * Refer to individual widget documentation for used style classes.
13171  */
13172 enum STYLE_CLASS_RADIO = "radio";
13173 alias GTK_STYLE_CLASS_RADIO = STYLE_CLASS_RADIO;
13174 
13175 /**
13176  * A CSS class to match a raised control, such as a raised
13177  * button on a toolbar.
13178  *
13179  * Refer to individual widget documentation for used style classes.
13180  */
13181 enum STYLE_CLASS_RAISED = "raised";
13182 alias GTK_STYLE_CLASS_RAISED = STYLE_CLASS_RAISED;
13183 
13184 /**
13185  * A CSS class used to indicate a read-only state.
13186  *
13187  * Refer to individual widget documentation for used style classes.
13188  */
13189 enum STYLE_CLASS_READ_ONLY = "read-only";
13190 alias GTK_STYLE_CLASS_READ_ONLY = STYLE_CLASS_READ_ONLY;
13191 
13192 /**
13193  * A CSS class to indicate an area at the right of a widget.
13194  *
13195  * Refer to individual widget documentation for used style classes.
13196  */
13197 enum STYLE_CLASS_RIGHT = "right";
13198 alias GTK_STYLE_CLASS_RIGHT = STYLE_CLASS_RIGHT;
13199 
13200 /**
13201  * A CSS class to match the rubberband selection rectangle.
13202  *
13203  * Refer to individual widget documentation for used style classes.
13204  */
13205 enum STYLE_CLASS_RUBBERBAND = "rubberband";
13206 alias GTK_STYLE_CLASS_RUBBERBAND = STYLE_CLASS_RUBBERBAND;
13207 
13208 /**
13209  * A CSS class to match scale widgets.
13210  *
13211  * Refer to individual widget documentation for used style classes.
13212  */
13213 enum STYLE_CLASS_SCALE = "scale";
13214 alias GTK_STYLE_CLASS_SCALE = STYLE_CLASS_SCALE;
13215 
13216 /**
13217  * A CSS class to match scale widgets with marks attached,
13218  * all the marks are above for horizontal #GtkScale.
13219  * left for vertical #GtkScale.
13220  *
13221  * Refer to individual widget documentation for used style classes.
13222  */
13223 enum STYLE_CLASS_SCALE_HAS_MARKS_ABOVE = "scale-has-marks-above";
13224 alias GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE = STYLE_CLASS_SCALE_HAS_MARKS_ABOVE;
13225 
13226 /**
13227  * A CSS class to match scale widgets with marks attached,
13228  * all the marks are below for horizontal #GtkScale,
13229  * right for vertical #GtkScale.
13230  *
13231  * Refer to individual widget documentation for used style classes.
13232  */
13233 enum STYLE_CLASS_SCALE_HAS_MARKS_BELOW = "scale-has-marks-below";
13234 alias GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW = STYLE_CLASS_SCALE_HAS_MARKS_BELOW;
13235 
13236 /**
13237  * A CSS class to match scrollbars.
13238  *
13239  * Refer to individual widget documentation for used style classes.
13240  */
13241 enum STYLE_CLASS_SCROLLBAR = "scrollbar";
13242 alias GTK_STYLE_CLASS_SCROLLBAR = STYLE_CLASS_SCROLLBAR;
13243 
13244 /**
13245  * A CSS class to match the junction area between an horizontal
13246  * and vertical scrollbar, when they’re both shown.
13247  *
13248  * Refer to individual widget documentation for used style classes.
13249  */
13250 enum STYLE_CLASS_SCROLLBARS_JUNCTION = "scrollbars-junction";
13251 alias GTK_STYLE_CLASS_SCROLLBARS_JUNCTION = STYLE_CLASS_SCROLLBARS_JUNCTION;
13252 
13253 /**
13254  * A CSS class for a separator.
13255  *
13256  * Refer to individual widget documentation for used style classes.
13257  */
13258 enum STYLE_CLASS_SEPARATOR = "separator";
13259 alias GTK_STYLE_CLASS_SEPARATOR = STYLE_CLASS_SEPARATOR;
13260 
13261 /**
13262  * A CSS class defining a sidebar, such as the left side in
13263  * a file chooser.
13264  *
13265  * Refer to individual widget documentation for used style classes.
13266  */
13267 enum STYLE_CLASS_SIDEBAR = "sidebar";
13268 alias GTK_STYLE_CLASS_SIDEBAR = STYLE_CLASS_SIDEBAR;
13269 
13270 /**
13271  * A CSS class to match sliders.
13272  *
13273  * Refer to individual widget documentation for used style classes.
13274  */
13275 enum STYLE_CLASS_SLIDER = "slider";
13276 alias GTK_STYLE_CLASS_SLIDER = STYLE_CLASS_SLIDER;
13277 
13278 /**
13279  * A CSS class defining an spinbutton.
13280  *
13281  * Refer to individual widget documentation for used style classes.
13282  */
13283 enum STYLE_CLASS_SPINBUTTON = "spinbutton";
13284 alias GTK_STYLE_CLASS_SPINBUTTON = STYLE_CLASS_SPINBUTTON;
13285 
13286 /**
13287  * A CSS class to use when rendering activity as a “spinner”.
13288  *
13289  * Refer to individual widget documentation for used style classes.
13290  */
13291 enum STYLE_CLASS_SPINNER = "spinner";
13292 alias GTK_STYLE_CLASS_SPINNER = STYLE_CLASS_SPINNER;
13293 
13294 /**
13295  * A CSS class to match statusbars.
13296  *
13297  * Refer to individual widget documentation for used style classes.
13298  */
13299 enum STYLE_CLASS_STATUSBAR = "statusbar";
13300 alias GTK_STYLE_CLASS_STATUSBAR = STYLE_CLASS_STATUSBAR;
13301 
13302 /**
13303  * A CSS class used for the subtitle label in a titlebar in
13304  * a toplevel window.
13305  *
13306  * Refer to individual widget documentation for used style classes.
13307  */
13308 enum STYLE_CLASS_SUBTITLE = "subtitle";
13309 alias GTK_STYLE_CLASS_SUBTITLE = STYLE_CLASS_SUBTITLE;
13310 
13311 /**
13312  * A CSS class used when an action (usually a button) is the
13313  * primary suggested action in a specific context.
13314  *
13315  * Refer to individual widget documentation for used style classes.
13316  */
13317 enum STYLE_CLASS_SUGGESTED_ACTION = "suggested-action";
13318 alias GTK_STYLE_CLASS_SUGGESTED_ACTION = STYLE_CLASS_SUGGESTED_ACTION;
13319 
13320 /**
13321  * A CSS class used for the title label in a titlebar in
13322  * a toplevel window.
13323  *
13324  * Refer to individual widget documentation for used style classes.
13325  */
13326 enum STYLE_CLASS_TITLE = "title";
13327 alias GTK_STYLE_CLASS_TITLE = STYLE_CLASS_TITLE;
13328 
13329 /**
13330  * A CSS class used when rendering a titlebar in a toplevel window.
13331  *
13332  * Refer to individual widget documentation for used style classes.
13333  */
13334 enum STYLE_CLASS_TITLEBAR = "titlebar";
13335 alias GTK_STYLE_CLASS_TITLEBAR = STYLE_CLASS_TITLEBAR;
13336 
13337 /**
13338  * A CSS class to match toolbars.
13339  *
13340  * Refer to individual widget documentation for used style classes.
13341  */
13342 enum STYLE_CLASS_TOOLBAR = "toolbar";
13343 alias GTK_STYLE_CLASS_TOOLBAR = STYLE_CLASS_TOOLBAR;
13344 
13345 /**
13346  * A CSS class to match tooltip windows.
13347  *
13348  * Refer to individual widget documentation for used style classes.
13349  */
13350 enum STYLE_CLASS_TOOLTIP = "tooltip";
13351 alias GTK_STYLE_CLASS_TOOLTIP = STYLE_CLASS_TOOLTIP;
13352 
13353 /**
13354  * A CSS class to indicate an area at the top of a widget.
13355  *
13356  * Refer to individual widget documentation for used style classes.
13357  */
13358 enum STYLE_CLASS_TOP = "top";
13359 alias GTK_STYLE_CLASS_TOP = STYLE_CLASS_TOP;
13360 
13361 /**
13362  * A CSS class for touch selection popups on entries
13363  * and text views.
13364  *
13365  * Refer to individual widget documentation for used style classes.
13366  */
13367 enum STYLE_CLASS_TOUCH_SELECTION = "touch-selection";
13368 alias GTK_STYLE_CLASS_TOUCH_SELECTION = STYLE_CLASS_TOUCH_SELECTION;
13369 
13370 /**
13371  * A CSS class to match troughs, as in scrollbars and progressbars.
13372  *
13373  * Refer to individual widget documentation for used style classes.
13374  */
13375 enum STYLE_CLASS_TROUGH = "trough";
13376 alias GTK_STYLE_CLASS_TROUGH = STYLE_CLASS_TROUGH;
13377 
13378 /**
13379  * A CSS class that is added on the visual hints that happen
13380  * where content is 'scrolled off' and can be made visible
13381  * by scrolling.
13382  *
13383  * Refer to individual widget documentation for used style classes.
13384  */
13385 enum STYLE_CLASS_UNDERSHOOT = "undershoot";
13386 alias GTK_STYLE_CLASS_UNDERSHOOT = STYLE_CLASS_UNDERSHOOT;
13387 
13388 /**
13389  * A CSS class for vertically layered widgets.
13390  *
13391  * Refer to individual widget documentation for used style classes.
13392  */
13393 enum STYLE_CLASS_VERTICAL = "vertical";
13394 alias GTK_STYLE_CLASS_VERTICAL = STYLE_CLASS_VERTICAL;
13395 
13396 /**
13397  * A CSS class defining a view, such as iconviews or treeviews.
13398  *
13399  * Refer to individual widget documentation for used style classes.
13400  */
13401 enum STYLE_CLASS_VIEW = "view";
13402 alias GTK_STYLE_CLASS_VIEW = STYLE_CLASS_VIEW;
13403 
13404 /**
13405  * A CSS class for an area displaying a warning message,
13406  * such as those in infobars.
13407  *
13408  * Refer to individual widget documentation for used style classes.
13409  */
13410 enum STYLE_CLASS_WARNING = "warning";
13411 alias GTK_STYLE_CLASS_WARNING = STYLE_CLASS_WARNING;
13412 
13413 /**
13414  * A CSS class to indicate that a UI element should be 'wide'.
13415  * Used by #GtkPaned.
13416  *
13417  * Refer to individual widget documentation for used style classes.
13418  */
13419 enum STYLE_CLASS_WIDE = "wide";
13420 alias GTK_STYLE_CLASS_WIDE = STYLE_CLASS_WIDE;
13421 
13422 /**
13423  * A property holding the background color of rendered elements as a #GdkRGBA.
13424  */
13425 enum STYLE_PROPERTY_BACKGROUND_COLOR = "background-color";
13426 alias GTK_STYLE_PROPERTY_BACKGROUND_COLOR = STYLE_PROPERTY_BACKGROUND_COLOR;
13427 
13428 /**
13429  * A property holding the element’s background as a #cairo_pattern_t.
13430  */
13431 enum STYLE_PROPERTY_BACKGROUND_IMAGE = "background-image";
13432 alias GTK_STYLE_PROPERTY_BACKGROUND_IMAGE = STYLE_PROPERTY_BACKGROUND_IMAGE;
13433 
13434 /**
13435  * A property holding the element’s border color as a #GdkRGBA.
13436  */
13437 enum STYLE_PROPERTY_BORDER_COLOR = "border-color";
13438 alias GTK_STYLE_PROPERTY_BORDER_COLOR = STYLE_PROPERTY_BORDER_COLOR;
13439 
13440 /**
13441  * A property holding the rendered element’s border radius in pixels as a #gint.
13442  */
13443 enum STYLE_PROPERTY_BORDER_RADIUS = "border-radius";
13444 alias GTK_STYLE_PROPERTY_BORDER_RADIUS = STYLE_PROPERTY_BORDER_RADIUS;
13445 
13446 /**
13447  * A property holding the element’s border style as a #GtkBorderStyle.
13448  */
13449 enum STYLE_PROPERTY_BORDER_STYLE = "border-style";
13450 alias GTK_STYLE_PROPERTY_BORDER_STYLE = STYLE_PROPERTY_BORDER_STYLE;
13451 
13452 /**
13453  * A property holding the rendered element’s border width in pixels as
13454  * a #GtkBorder. The border is the intermediary spacing property of the
13455  * padding/border/margin series.
13456  *
13457  * gtk_render_frame() uses this property to find out the frame line width,
13458  * so #GtkWidgets rendering frames may need to add up this padding when
13459  * requesting size
13460  */
13461 enum STYLE_PROPERTY_BORDER_WIDTH = "border-width";
13462 alias GTK_STYLE_PROPERTY_BORDER_WIDTH = STYLE_PROPERTY_BORDER_WIDTH;
13463 
13464 /**
13465  * A property holding the foreground color of rendered elements as a #GdkRGBA.
13466  */
13467 enum STYLE_PROPERTY_COLOR = "color";
13468 alias GTK_STYLE_PROPERTY_COLOR = STYLE_PROPERTY_COLOR;
13469 
13470 /**
13471  * A property holding the font properties used when rendering text
13472  * as a #PangoFontDescription.
13473  */
13474 enum STYLE_PROPERTY_FONT = "font";
13475 alias GTK_STYLE_PROPERTY_FONT = STYLE_PROPERTY_FONT;
13476 
13477 /**
13478  * A property holding the rendered element’s margin as a #GtkBorder. The
13479  * margin is defined as the spacing between the border of the element
13480  * and its surrounding elements. It is external to #GtkWidget's
13481  * size allocations, and the most external spacing property of the
13482  * padding/border/margin series.
13483  */
13484 enum STYLE_PROPERTY_MARGIN = "margin";
13485 alias GTK_STYLE_PROPERTY_MARGIN = STYLE_PROPERTY_MARGIN;
13486 
13487 /**
13488  * A property holding the rendered element’s padding as a #GtkBorder. The
13489  * padding is defined as the spacing between the inner part of the element border
13490  * and its child. It’s the innermost spacing property of the padding/border/margin
13491  * series.
13492  */
13493 enum STYLE_PROPERTY_PADDING = "padding";
13494 alias GTK_STYLE_PROPERTY_PADDING = STYLE_PROPERTY_PADDING;
13495 
13496 /**
13497  * A priority that can be used when adding a #GtkStyleProvider
13498  * for application-specific style information.
13499  */
13500 enum STYLE_PROVIDER_PRIORITY_APPLICATION = 600;
13501 alias GTK_STYLE_PROVIDER_PRIORITY_APPLICATION = STYLE_PROVIDER_PRIORITY_APPLICATION;
13502 
13503 /**
13504  * The priority used for default style information
13505  * that is used in the absence of themes.
13506  *
13507  * Note that this is not very useful for providing default
13508  * styling for custom style classes - themes are likely to
13509  * override styling provided at this priority with
13510  * catch-all `* {...}` rules.
13511  */
13512 enum STYLE_PROVIDER_PRIORITY_FALLBACK = 1;
13513 alias GTK_STYLE_PROVIDER_PRIORITY_FALLBACK = STYLE_PROVIDER_PRIORITY_FALLBACK;
13514 
13515 /**
13516  * The priority used for style information provided
13517  * via #GtkSettings.
13518  *
13519  * This priority is higher than #GTK_STYLE_PROVIDER_PRIORITY_THEME
13520  * to let settings override themes.
13521  */
13522 enum STYLE_PROVIDER_PRIORITY_SETTINGS = 400;
13523 alias GTK_STYLE_PROVIDER_PRIORITY_SETTINGS = STYLE_PROVIDER_PRIORITY_SETTINGS;
13524 
13525 /**
13526  * The priority used for style information provided
13527  * by themes.
13528  */
13529 enum STYLE_PROVIDER_PRIORITY_THEME = 200;
13530 alias GTK_STYLE_PROVIDER_PRIORITY_THEME = STYLE_PROVIDER_PRIORITY_THEME;
13531 
13532 /**
13533  * The priority used for the style information from
13534  * `XDG_CONFIG_HOME/gtk-3.0/gtk.css`.
13535  *
13536  * You should not use priorities higher than this, to
13537  * give the user the last word.
13538  */
13539 enum STYLE_PROVIDER_PRIORITY_USER = 800;
13540 alias GTK_STYLE_PROVIDER_PRIORITY_USER = STYLE_PROVIDER_PRIORITY_USER;
13541 
13542 /**
13543  * A widget region name to define a treeview column.
13544  *
13545  * Deprecated: Don't use regions.
13546  */
13547 enum STYLE_REGION_COLUMN = "column";
13548 alias GTK_STYLE_REGION_COLUMN = STYLE_REGION_COLUMN;
13549 
13550 /**
13551  * A widget region name to define a treeview column header.
13552  *
13553  * Deprecated: Don't use regions.
13554  */
13555 enum STYLE_REGION_COLUMN_HEADER = "column-header";
13556 alias GTK_STYLE_REGION_COLUMN_HEADER = STYLE_REGION_COLUMN_HEADER;
13557 
13558 /**
13559  * A widget region name to define a treeview row.
13560  *
13561  * Deprecated: Don't use regions.
13562  */
13563 enum STYLE_REGION_ROW = "row";
13564 alias GTK_STYLE_REGION_ROW = STYLE_REGION_ROW;
13565 
13566 /**
13567  * A widget region name to define a notebook tab.
13568  *
13569  * Deprecated: Don't use regions.
13570  */
13571 enum STYLE_REGION_TAB = "tab";
13572 alias GTK_STYLE_REGION_TAB = STYLE_REGION_TAB;
13573 
13574 /**
13575  * The priority at which the text view validates onscreen lines
13576  * in an idle job in the background.
13577  */
13578 enum TEXT_VIEW_PRIORITY_VALIDATE = 125;
13579 alias GTK_TEXT_VIEW_PRIORITY_VALIDATE = TEXT_VIEW_PRIORITY_VALIDATE;
13580 
13581 /**
13582  * The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
13583  * #GtkTreeSortable use the default sort function.
13584  *
13585  * See also gtk_tree_sortable_set_sort_column_id()
13586  */
13587 enum TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = -1;
13588 alias GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
13589 
13590 /**
13591  * The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
13592  * #GtkTreeSortable use no sorting.
13593  *
13594  * See also gtk_tree_sortable_set_sort_column_id()
13595  */
13596 enum TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = -2;
13597 alias GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID;
13598 
13599 /**
13600  * StockIds
13601  */
13602 public enum StockID
13603 {
13604 	/**
13605 	 * The “About” item.
13606 	 * ![](help-about.png)
13607 	 *
13608 	 * Deprecated: Use named icon &quot;help-about&quot; or the label &quot;_About&quot;.
13609 	 */
13610 	ABOUT = "gtk-about",
13611 	/**
13612 	 * The “Add” item and icon.
13613 	 *
13614 	 * Deprecated: Use named icon &quot;list-add&quot; or the label &quot;_Add&quot;.
13615 	 */
13616 	ADD = "gtk-add",
13617 	/**
13618 	 * The “Apply” item and icon.
13619 	 *
13620 	 * Deprecated: Do not use an icon. Use label &quot;_Apply&quot;.
13621 	 */
13622 	APPLY = "gtk-apply",
13623 	/**
13624 	 * The “Bold” item and icon.
13625 	 *
13626 	 * Deprecated: Use named icon &quot;format-text-bold&quot;.
13627 	 */
13628 	BOLD = "gtk-bold",
13629 	/**
13630 	 * The “Cancel” item and icon.
13631 	 *
13632 	 * Deprecated: Do not use an icon. Use label &quot;_Cancel&quot;.
13633 	 */
13634 	CANCEL = "gtk-cancel",
13635 	/**
13636 	 * The “Caps Lock Warning” icon.
13637 	 *
13638 	 * Deprecated: Use named icon &quot;dialog-warning-symbolic&quot;.
13639 	 */
13640 	CAPS_LOCK_WARNING = "gtk-caps-lock-warning",
13641 	/**
13642 	 * The “CD-Rom” item and icon.
13643 	 *
13644 	 * Deprecated: Use named icon &quot;media-optical&quot;.
13645 	 */
13646 	CDROM = "gtk-cdrom",
13647 	/**
13648 	 * The “Clear” item and icon.
13649 	 *
13650 	 * Deprecated: Use named icon &quot;edit-clear&quot;.
13651 	 */
13652 	CLEAR = "gtk-clear",
13653 	/**
13654 	 * The “Close” item and icon.
13655 	 *
13656 	 * Deprecated: Use named icon &quot;window-close&quot; or the label &quot;_Close&quot;.
13657 	 */
13658 	CLOSE = "gtk-close",
13659 	/**
13660 	 * The “Color Picker” item and icon.
13661 	 */
13662 	COLOR_PICKER = "gtk-color-picker",
13663 	/**
13664 	 * The “Connect” icon.
13665 	 */
13666 	CONNECT = "gtk-connect",
13667 	/**
13668 	 * The “Convert” item and icon.
13669 	 */
13670 	CONVERT = "gtk-convert",
13671 	/**
13672 	 * The “Copy” item and icon.
13673 	 *
13674 	 * Deprecated: Use the named icon &quot;edit-copy&quot; or the label &quot;_Copy&quot;.
13675 	 */
13676 	COPY = "gtk-copy",
13677 	/**
13678 	 * The “Cut” item and icon.
13679 	 *
13680 	 * Deprecated: Use the named icon &quot;edit-cut&quot; or the label &quot;Cu_t&quot;.
13681 	 */
13682 	CUT = "gtk-cut",
13683 	/**
13684 	 * The “Delete” item and icon.
13685 	 *
13686 	 * Deprecated: Use the named icon &quot;edit-delete&quot; or the label &quot;_Delete&quot;.
13687 	 */
13688 	DELETE = "gtk-delete",
13689 	/**
13690 	 * The “Authentication” item and icon.
13691 	 *
13692 	 * Deprecated: Use named icon &quot;dialog-password&quot;.
13693 	 */
13694 	DIALOG_AUTHENTICATION = "gtk-dialog-authentication",
13695 	/**
13696 	 * The “Error” item and icon.
13697 	 *
13698 	 * Deprecated: Use named icon &quot;dialog-error&quot;.
13699 	 */
13700 	DIALOG_ERROR = "gtk-dialog-error",
13701 	/**
13702 	 * The “Information” item and icon.
13703 	 *
13704 	 * Deprecated: Use named icon &quot;dialog-information&quot;.
13705 	 */
13706 	DIALOG_INFO = "gtk-dialog-info",
13707 	/**
13708 	 * The “Question” item and icon.
13709 	 *
13710 	 * Deprecated: Use named icon &quot;dialog-question&quot;.
13711 	 */
13712 	DIALOG_QUESTION = "gtk-dialog-question",
13713 	/**
13714 	 * The “Warning” item and icon.
13715 	 *
13716 	 * Deprecated: Use named icon &quot;dialog-warning&quot;.
13717 	 */
13718 	DIALOG_WARNING = "gtk-dialog-warning",
13719 	/**
13720 	 * The “Directory” icon.
13721 	 *
13722 	 * Deprecated: Use named icon &quot;folder&quot;.
13723 	 */
13724 	DIRECTORY = "gtk-directory",
13725 	/**
13726 	 * The “Discard” item.
13727 	 */
13728 	DISCARD = "gtk-discard",
13729 	/**
13730 	 * The “Disconnect” icon.
13731 	 */
13732 	DISCONNECT = "gtk-disconnect",
13733 	/**
13734 	 * The “Drag-And-Drop” icon.
13735 	 */
13736 	DND = "gtk-dnd",
13737 	/**
13738 	 * The “Drag-And-Drop multiple” icon.
13739 	 */
13740 	DND_MULTIPLE = "gtk-dnd-multiple",
13741 	/**
13742 	 * The “Edit” item and icon.
13743 	 */
13744 	EDIT = "gtk-edit",
13745 	/**
13746 	 * The “Execute” item and icon.
13747 	 *
13748 	 * Deprecated: Use named icon &quot;system-run&quot;.
13749 	 */
13750 	EXECUTE = "gtk-execute",
13751 	/**
13752 	 * The “File” item and icon.
13753 	 *
13754 	 * Since 3.0, this item has a label, before it only had an icon.
13755 	 *
13756 	 * Deprecated: Use named icon &quot;text-x-generic&quot;.
13757 	 */
13758 	FILE = "gtk-file",
13759 	/**
13760 	 * The “Find” item and icon.
13761 	 *
13762 	 * Deprecated: Use named icon &quot;edit-find&quot;.
13763 	 */
13764 	FIND = "gtk-find",
13765 	/**
13766 	 * The “Find and Replace” item and icon.
13767 	 *
13768 	 * Deprecated: Use named icon &quot;edit-find-replace&quot;.
13769 	 */
13770 	FIND_AND_REPLACE = "gtk-find-and-replace",
13771 	/**
13772 	 * The “Floppy” item and icon.
13773 	 */
13774 	FLOPPY = "gtk-floppy",
13775 	/**
13776 	 * The “Fullscreen” item and icon.
13777 	 *
13778 	 * Deprecated: Use named icon &quot;view-fullscreen&quot;.
13779 	 */
13780 	FULLSCREEN = "gtk-fullscreen",
13781 	/**
13782 	 * The “Bottom” item and icon.
13783 	 *
13784 	 * Deprecated: Use named icon &quot;go-bottom&quot;.
13785 	 */
13786 	GOTO_BOTTOM = "gtk-goto-bottom",
13787 	/**
13788 	 * The “First” item and icon. The icon has an RTL variant.
13789 	 *
13790 	 * Deprecated: Use named icon &quot;go-first&quot;.
13791 	 */
13792 	GOTO_FIRST = "gtk-goto-first",
13793 	/**
13794 	 * The “Last” item and icon. The icon has an RTL variant.
13795 	 *
13796 	 * Deprecated: Use named icon &quot;go-last&quot;.
13797 	 */
13798 	GOTO_LAST = "gtk-goto-last",
13799 	/**
13800 	 * The “Top” item and icon.
13801 	 *
13802 	 * Deprecated: Use named icon &quot;go-top&quot;.
13803 	 */
13804 	GOTO_TOP = "gtk-goto-top",
13805 	/**
13806 	 * The “Back” item and icon. The icon has an RTL variant.
13807 	 *
13808 	 * Deprecated: Use named icon &quot;go-previous&quot;.
13809 	 */
13810 	GO_BACK = "gtk-go-back",
13811 	/**
13812 	 * The “Down” item and icon.
13813 	 *
13814 	 * Deprecated: Use named icon &quot;go-down&quot;.
13815 	 */
13816 	GO_DOWN = "gtk-go-down",
13817 	/**
13818 	 * The “Forward” item and icon. The icon has an RTL variant.
13819 	 *
13820 	 * Deprecated: Use named icon &quot;go-next&quot;.
13821 	 */
13822 	GO_FORWARD = "gtk-go-forward",
13823 	/**
13824 	 * The “Up” item and icon.
13825 	 *
13826 	 * Deprecated: Use named icon &quot;go-up&quot;.
13827 	 */
13828 	GO_UP = "gtk-go-up",
13829 	/**
13830 	 * The “Harddisk” item and icon.
13831 	 *
13832 	 * Deprecated: Use named icon &quot;drive-harddisk&quot;.
13833 	 */
13834 	HARDDISK = "gtk-harddisk",
13835 	/**
13836 	 * The “Help” item and icon.
13837 	 *
13838 	 * Deprecated: Use named icon &quot;help-browser&quot;.
13839 	 */
13840 	HELP = "gtk-help",
13841 	/**
13842 	 * The “Home” item and icon.
13843 	 *
13844 	 * Deprecated: Use named icon &quot;go-home&quot;.
13845 	 */
13846 	HOME = "gtk-home",
13847 	/**
13848 	 * The “Indent” item and icon. The icon has an RTL variant.
13849 	 *
13850 	 * Deprecated: Use named icon &quot;format-indent-more&quot;.
13851 	 */
13852 	INDENT = "gtk-indent",
13853 	/**
13854 	 * The “Index” item and icon.
13855 	 */
13856 	INDEX = "gtk-index",
13857 	/**
13858 	 * The “Info” item and icon.
13859 	 *
13860 	 * Deprecated: Use named icon &quot;dialog-information&quot;.
13861 	 */
13862 	INFO = "gtk-info",
13863 	/**
13864 	 * The “Italic” item and icon.
13865 	 *
13866 	 * Deprecated: Use named icon &quot;format-text-italic&quot;.
13867 	 */
13868 	ITALIC = "gtk-italic",
13869 	/**
13870 	 * The “Jump to” item and icon. The icon has an RTL variant.
13871 	 *
13872 	 * Deprecated: Use named icon &quot;go-jump&quot;.
13873 	 */
13874 	JUMP_TO = "gtk-jump-to",
13875 	/**
13876 	 * The “Center” item and icon.
13877 	 *
13878 	 * Deprecated: Use named icon &quot;format-justify-center&quot;.
13879 	 */
13880 	JUSTIFY_CENTER = "gtk-justify-center",
13881 	/**
13882 	 * The “Fill” item and icon.
13883 	 *
13884 	 * Deprecated: Use named icon &quot;format-justify-fill&quot;.
13885 	 */
13886 	JUSTIFY_FILL = "gtk-justify-fill",
13887 	/**
13888 	 * The “Left” item and icon.
13889 	 *
13890 	 * Deprecated: Use named icon &quot;format-justify-left&quot;.
13891 	 */
13892 	JUSTIFY_LEFT = "gtk-justify-left",
13893 	/**
13894 	 * The “Right” item and icon.
13895 	 *
13896 	 * Deprecated: Use named icon &quot;format-justify-right&quot;.
13897 	 */
13898 	JUSTIFY_RIGHT = "gtk-justify-right",
13899 	/**
13900 	 * The “Leave Fullscreen” item and icon.
13901 	 *
13902 	 * Deprecated: Use named icon &quot;view-restore&quot;.
13903 	 */
13904 	LEAVE_FULLSCREEN = "gtk-leave-fullscreen",
13905 	/**
13906 	 * The “Media Forward” item and icon. The icon has an RTL variant.
13907 	 *
13908 	 * Deprecated: Use named icon &quot;media-seek-forward&quot; or the label &quot;_Forward&quot;.
13909 	 */
13910 	MEDIA_FORWARD = "gtk-media-forward",
13911 	/**
13912 	 * The “Media Next” item and icon. The icon has an RTL variant.
13913 	 *
13914 	 * Deprecated: Use named icon &quot;media-skip-forward&quot; or the label &quot;_Next&quot;.
13915 	 */
13916 	MEDIA_NEXT = "gtk-media-next",
13917 	/**
13918 	 * The “Media Pause” item and icon.
13919 	 *
13920 	 * Deprecated: Use named icon &quot;media-playback-pause&quot; or the label &quot;P_ause&quot;.
13921 	 */
13922 	MEDIA_PAUSE = "gtk-media-pause",
13923 	/**
13924 	 * The “Media Play” item and icon. The icon has an RTL variant.
13925 	 *
13926 	 * Deprecated: Use named icon &quot;media-playback-start&quot; or the label &quot;_Play&quot;.
13927 	 */
13928 	MEDIA_PLAY = "gtk-media-play",
13929 	/**
13930 	 * The “Media Previous” item and icon. The icon has an RTL variant.
13931 	 *
13932 	 * Deprecated: Use named icon &quot;media-skip-backward&quot; or the label &quot;Pre_vious&quot;.
13933 	 */
13934 	MEDIA_PREVIOUS = "gtk-media-previous",
13935 	/**
13936 	 * The “Media Record” item and icon.
13937 	 *
13938 	 * Deprecated: Use named icon &quot;media-record&quot; or the label &quot;_Record&quot;.
13939 	 */
13940 	MEDIA_RECORD = "gtk-media-record",
13941 	/**
13942 	 * The “Media Rewind” item and icon. The icon has an RTL variant.
13943 	 *
13944 	 * Deprecated: Use named icon &quot;media-seek-backward&quot; or the label &quot;R_ewind&quot;.
13945 	 */
13946 	MEDIA_REWIND = "gtk-media-rewind",
13947 	/**
13948 	 * The “Media Stop” item and icon.
13949 	 *
13950 	 * Deprecated: Use named icon &quot;media-playback-stop&quot; or the label &quot;_Stop&quot;.
13951 	 */
13952 	MEDIA_STOP = "gtk-media-stop",
13953 	/**
13954 	 * The “Missing image” icon.
13955 	 *
13956 	 * Deprecated: Use named icon &quot;image-missing&quot;.
13957 	 */
13958 	MISSING_IMAGE = "gtk-missing-image",
13959 	/**
13960 	 * The “Network” item and icon.
13961 	 *
13962 	 * Deprecated: Use named icon &quot;network-workgroup&quot;.
13963 	 */
13964 	NETWORK = "gtk-network",
13965 	/**
13966 	 * The “New” item and icon.
13967 	 *
13968 	 * Deprecated: Use named icon &quot;document-new&quot; or the label &quot;_New&quot;.
13969 	 */
13970 	NEW = "gtk-new",
13971 	/**
13972 	 * The “No” item and icon.
13973 	 */
13974 	NO = "gtk-no",
13975 	/**
13976 	 * The “OK” item and icon.
13977 	 *
13978 	 * Deprecated: Do not use an icon. Use label &quot;_OK&quot;.
13979 	 */
13980 	OK = "gtk-ok",
13981 	/**
13982 	 * The “Open” item and icon.
13983 	 *
13984 	 * Deprecated: Use named icon &quot;document-open&quot; or the label &quot;_Open&quot;.
13985 	 */
13986 	OPEN = "gtk-open",
13987 	/**
13988 	 * The “Landscape Orientation” item and icon.
13989 	 */
13990 	ORIENTATION_LANDSCAPE = "gtk-orientation-landscape",
13991 	/**
13992 	 * The “Portrait Orientation” item and icon.
13993 	 */
13994 	ORIENTATION_PORTRAIT = "gtk-orientation-portrait",
13995 	/**
13996 	 * The “Reverse Landscape Orientation” item and icon.
13997 	 */
13998 	ORIENTATION_REVERSE_LANDSCAPE = "gtk-orientation-reverse-landscape",
13999 	/**
14000 	 * The “Reverse Portrait Orientation” item and icon.
14001 	 */
14002 	ORIENTATION_REVERSE_PORTRAIT = "gtk-orientation-reverse-portrait",
14003 	/**
14004 	 * The “Page Setup” item and icon.
14005 	 *
14006 	 * Deprecated: Use named icon &quot;document-page-setup&quot; or the label &quot;Page Set_up&quot;.
14007 	 */
14008 	PAGE_SETUP = "gtk-page-setup",
14009 	/**
14010 	 * The “Paste” item and icon.
14011 	 *
14012 	 * Deprecated: Use named icon &quot;edit-paste&quot; or the label &quot;_Paste&quot;.
14013 	 */
14014 	PASTE = "gtk-paste",
14015 	/**
14016 	 * The “Preferences” item and icon.
14017 	 *
14018 	 * Deprecated: Use named icon &quot;preferences-system&quot; or the label &quot;_Preferences&quot;.
14019 	 */
14020 	PREFERENCES = "gtk-preferences",
14021 	/**
14022 	 * The “Print” item and icon.
14023 	 *
14024 	 * Deprecated: Use named icon &quot;document-print&quot; or the label &quot;_Print&quot;.
14025 	 */
14026 	PRINT = "gtk-print",
14027 	/**
14028 	 * The “Print Error” icon.
14029 	 *
14030 	 * Deprecated: Use named icon &quot;printer-error&quot;.
14031 	 */
14032 	PRINT_ERROR = "gtk-print-error",
14033 	/**
14034 	 * The “Print Paused” icon.
14035 	 */
14036 	PRINT_PAUSED = "gtk-print-paused",
14037 	/**
14038 	 * The “Print Preview” item and icon.
14039 	 *
14040 	 * Deprecated: Use label &quot;Pre_view&quot;.
14041 	 */
14042 	PRINT_PREVIEW = "gtk-print-preview",
14043 	/**
14044 	 * The “Print Report” icon.
14045 	 */
14046 	PRINT_REPORT = "gtk-print-report",
14047 	/**
14048 	 * The “Print Warning” icon.
14049 	 */
14050 	PRINT_WARNING = "gtk-print-warning",
14051 	/**
14052 	 * The “Properties” item and icon.
14053 	 *
14054 	 * Deprecated: Use named icon &quot;document-properties&quot; or the label &quot;_Properties&quot;.
14055 	 */
14056 	PROPERTIES = "gtk-properties",
14057 	/**
14058 	 * The “Quit” item and icon.
14059 	 *
14060 	 * Deprecated: Use named icon &quot;application-exit&quot; or the label &quot;_Quit&quot;.
14061 	 */
14062 	QUIT = "gtk-quit",
14063 	/**
14064 	 * The “Redo” item and icon. The icon has an RTL variant.
14065 	 *
14066 	 * Deprecated: Use named icon &quot;edit-redo&quot; or the label &quot;_Redo&quot;.
14067 	 */
14068 	REDO = "gtk-redo",
14069 	/**
14070 	 * The “Refresh” item and icon.
14071 	 *
14072 	 * Deprecated: Use named icon &quot;view-refresh&quot; or the label &quot;_Refresh&quot;.
14073 	 */
14074 	REFRESH = "gtk-refresh",
14075 	/**
14076 	 * The “Remove” item and icon.
14077 	 *
14078 	 * Deprecated: Use named icon &quot;list-remove&quot; or the label &quot;_Remove&quot;.
14079 	 */
14080 	REMOVE = "gtk-remove",
14081 	/**
14082 	 * The “Revert” item and icon. The icon has an RTL variant.
14083 	 *
14084 	 * Deprecated: Use named icon &quot;document-revert&quot; or the label &quot;_Revert&quot;.
14085 	 */
14086 	REVERT_TO_SAVED = "gtk-revert-to-saved",
14087 	/**
14088 	 * The “Save” item and icon.
14089 	 *
14090 	 * Deprecated: Use named icon &quot;document-save&quot; or the label &quot;_Save&quot;.
14091 	 */
14092 	SAVE = "gtk-save",
14093 	/**
14094 	 * The “Save As” item and icon.
14095 	 *
14096 	 * Deprecated: Use named icon &quot;document-save-as&quot; or the label &quot;Save _As&quot;.
14097 	 */
14098 	SAVE_AS = "gtk-save-as",
14099 	/**
14100 	 * The “Select All” item and icon.
14101 	 *
14102 	 * Deprecated: Use named icon &quot;edit-select-all&quot; or the label &quot;Select _All&quot;.
14103 	 */
14104 	SELECT_ALL = "gtk-select-all",
14105 	/**
14106 	 * The “Color” item and icon.
14107 	 */
14108 	SELECT_COLOR = "gtk-select-color",
14109 	/**
14110 	 * The “Font” item and icon.
14111 	 */
14112 	SELECT_FONT = "gtk-select-font",
14113 	/**
14114 	 * The “Ascending” item and icon.
14115 	 *
14116 	 * Deprecated: Use named icon &quot;view-sort-ascending&quot;.
14117 	 */
14118 	SORT_ASCENDING = "gtk-sort-ascending",
14119 	/**
14120 	 * The “Descending” item and icon.
14121 	 *
14122 	 * Deprecated: Use named icon &quot;view-sort-descending&quot;.
14123 	 */
14124 	SORT_DESCENDING = "gtk-sort-descending",
14125 	/**
14126 	 * The “Spell Check” item and icon.
14127 	 *
14128 	 * Deprecated: Use named icon &quot;tools-check-spelling&quot;.
14129 	 */
14130 	SPELL_CHECK = "gtk-spell-check",
14131 	/**
14132 	 * The “Stop” item and icon.
14133 	 *
14134 	 * Deprecated: Use named icon &quot;process-stop&quot; or the label &quot;_Stop&quot;.
14135 	 */
14136 	STOP = "gtk-stop",
14137 	/**
14138 	 * The “Strikethrough” item and icon.
14139 	 *
14140 	 * Deprecated: Use named icon &quot;format-text-strikethrough&quot; or the label &quot;_Strikethrough&quot;.
14141 	 */
14142 	STRIKETHROUGH = "gtk-strikethrough",
14143 	/**
14144 	 * The “Undelete” item and icon. The icon has an RTL variant.
14145 	 */
14146 	UNDELETE = "gtk-undelete",
14147 	/**
14148 	 * The “Underline” item and icon.
14149 	 *
14150 	 * Deprecated: Use named icon &quot;format-text-underline&quot; or the label &quot;_Underline&quot;.
14151 	 */
14152 	UNDERLINE = "gtk-underline",
14153 	/**
14154 	 * The “Undo” item and icon. The icon has an RTL variant.
14155 	 *
14156 	 * Deprecated: Use named icon &quot;edit-undo&quot; or the label &quot;_Undo&quot;.
14157 	 */
14158 	UNDO = "gtk-undo",
14159 	/**
14160 	 * The “Unindent” item and icon. The icon has an RTL variant.
14161 	 *
14162 	 * Deprecated: Use named icon &quot;format-indent-less&quot;.
14163 	 */
14164 	UNINDENT = "gtk-unindent",
14165 	/**
14166 	 * The “Yes” item and icon.
14167 	 */
14168 	YES = "gtk-yes",
14169 	/**
14170 	 * The “Zoom 100%” item and icon.
14171 	 *
14172 	 * Deprecated: Use named icon &quot;zoom-original&quot; or the label &quot;_Normal Size&quot;.
14173 	 */
14174 	ZOOM_100 = "gtk-zoom-100",
14175 	/**
14176 	 * The “Zoom to Fit” item and icon.
14177 	 *
14178 	 * Deprecated: Use named icon &quot;zoom-fit-best&quot; or the label &quot;Best _Fit&quot;.
14179 	 */
14180 	ZOOM_FIT = "gtk-zoom-fit",
14181 	/**
14182 	 * The “Zoom In” item and icon.
14183 	 *
14184 	 * Deprecated: Use named icon &quot;zoom-in&quot; or the label &quot;Zoom _In&quot;.
14185 	 */
14186 	ZOOM_IN = "gtk-zoom-in",
14187 	/**
14188 	 * The “Zoom Out” item and icon.
14189 	 *
14190 	 * Deprecated: Use named icon &quot;zoom-out&quot; or the label &quot;Zoom _Out&quot;.
14191 	 */
14192 	ZOOM_OUT = "gtk-zoom-out",
14193 }