[gtkmm] Gdk, Gtk: Regenerate docs.xml and .defs files



commit f6af231d962cf58484f117218c569d6865df340a
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sat Jun 1 19:35:33 2019 +0200

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update gtk_extra_objects.defs and gtk_vfuncs.defs.

 gdk/src/gdk_docs.xml           |  645 ++---------------------
 gdk/src/gdk_enums.defs         |   10 +-
 gdk/src/gdk_methods.defs       |  238 +--------
 gdk/src/gdk_signals.defs       |   29 ++
 gtk/src/gtk_docs.xml           |  951 ++++++++++++++-------------------
 gtk/src/gtk_enums.defs         |   93 +---
 gtk/src/gtk_extra_objects.defs |  271 +++++++++-
 gtk/src/gtk_methods.defs       | 1131 ++++++----------------------------------
 gtk/src/gtk_signals.defs       |  153 +++---
 gtk/src/gtk_vfuncs.defs        |   40 +-
 10 files changed, 1032 insertions(+), 2529 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index 9e785db6..6b30a233 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -1041,7 +1041,6 @@ title bar.
 </parameter>
 <parameter name="GDK_CONFIGURE">
 <parameter_description> the size, position or stacking order of the surface has changed.
-Note that GTK+ discards these events for %GDK_SURFACE_CHILD surfaces.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PROXIMITY_IN">
@@ -2894,14 +2893,14 @@ Describes the kind of surface.
 <parameter_description> toplevel window (used to implement #GtkWindow)
 </parameter_description>
 </parameter>
-<parameter name="GDK_SURFACE_CHILD">
-<parameter_description> child surface (used to implement e.g. #GtkEntry)
-</parameter_description>
-</parameter>
 <parameter name="GDK_SURFACE_TEMP">
 <parameter_description> override redirect temporary surface (used to implement #GtkMenu)
 </parameter_description>
 </parameter>
+<parameter name="GDK_SURFACE_POPUP">
+<parameter_description> popup window with semantics like xdg-popover
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -5780,31 +5779,6 @@ Determines the name of the device.
 </return>
 </function>
 
-<function name="gdk_device_get_position">
-<description>
-Gets the current location of @device in double precision. As a slave device's
-coordinates are those of its master pointer, this function
-may not be called on devices of type %GDK_DEVICE_TYPE_SLAVE,
-unless there is an ongoing grab on them. See gdk_device_grab().
-
-</description>
-<parameters>
-<parameter name="device">
-<parameter_description> pointer device to query status about.
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> location to store root window X coordinate of @device, or %NULL.
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> location to store root window Y coordinate of @device, or %NULL.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_device_get_product_id">
 <description>
 Returns the product ID of this device, or %NULL if this information couldn't
@@ -5861,7 +5835,7 @@ Determines the type of the device.
 Gets the current state of a pointer device relative to @surface. As a slave
 device’s coordinates are those of its master pointer, this
 function may not be called on devices of type %GDK_DEVICE_TYPE_SLAVE,
-unless there is an ongoing grab on them. See gdk_device_grab().
+unless there is an ongoing grab on them. See gdk_seat_grab().
 
 </description>
 <parameters>
@@ -5894,7 +5868,7 @@ belongs to another application).
 
 As a slave device coordinates are those of its master pointer, This
 function may not be called on devices of type %GDK_DEVICE_TYPE_SLAVE,
-unless there is an ongoing grab on them, see gdk_device_grab().
+unless there is an ongoing grab on them, see gdk_seat_grab().
 
 
 </description>
@@ -6426,31 +6400,6 @@ Gets a monitor associated with this display.
 </return>
 </function>
 
-<function name="gdk_display_get_monitor_at_point">
-<description>
-Gets the monitor in which the point (@x, @y) is located,
-or a nearby monitor if the point is not in any monitor.
-
-
-</description>
-<parameters>
-<parameter name="display">
-<parameter_description> a #GdkDisplay
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> the x coordinate of the point
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> the y coordinate of the point
-</parameter_description>
-</parameter>
-</parameters>
-<return> the monitor containing the point
-</return>
-</function>
-
 <function name="gdk_display_get_monitor_at_surface">
 <description>
 Gets the monitor in which the largest area of @surface
@@ -8132,30 +8081,6 @@ from a touch event), as opposed to a real one.
 </return>
 </function>
 
-<function name="gdk_event_get_root_coords">
-<description>
-Extract the root window relative x/y coordinates from an event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="x_root">
-<parameter_description> location to put root window x coordinate
-</parameter_description>
-</parameter>
-<parameter name="y_root">
-<parameter_description> location to put root window y coordinate
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the event delivered root window coordinates
-</return>
-</function>
-
 <function name="gdk_event_get_scancode">
 <description>
 Gets the keyboard low-level scancode of a key event.
@@ -15311,78 +15236,6 @@ set of geometry hints (such as minimum and maximum size).
 <return></return>
 </function>
 
-<function name="gdk_surface_coords_from_parent">
-<description>
-Transforms surface coordinates from a parent surface to a child
-surface.
-
-Calling this function is equivalent to subtracting the return
-values of gdk_surface_get_position() from the parent coordinates.
-
-See also: gdk_surface_coords_to_parent()
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a child surface
-</parameter_description>
-</parameter>
-<parameter name="parent_x">
-<parameter_description> X coordinate in parent’s coordinate system
-</parameter_description>
-</parameter>
-<parameter name="parent_y">
-<parameter_description> Y coordinate in parent’s coordinate system
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> return location for X coordinate in child’s coordinate system
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> return location for Y coordinate in child’s coordinate system
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_coords_to_parent">
-<description>
-Transforms surface coordinates from a child surface to its parent
-surface. Calling this function is equivalent to adding the return
-values of gdk_surface_get_position() to the child coordinates.
-
-See also: gdk_surface_coords_from_parent()
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a child surface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X coordinate in child’s coordinate system
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y coordinate in child’s coordinate system
-</parameter_description>
-</parameter>
-<parameter name="parent_x">
-<parameter_description> return location for X coordinate
-in parent’s coordinate system, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="parent_y">
-<parameter_description> return location for Y coordinate
-in parent’s coordinate system, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_create_cairo_context">
 <description>
 Creates a new #GdkCairoContext for rendering on @surface.
@@ -15633,29 +15486,6 @@ the surface does not want to receive input focus.
 </return>
 </function>
 
-<function name="gdk_surface_get_children">
-<description>
-Gets the list of children of @surface known to GDK.
-This function only returns children created via GDK,
-so for example it’s useless when used with the root window;
-it only returns surfaces an application created itself.
-
-The returned list must be freed, but the elements in the
-list need not be.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return>
-list of child surfaces inside @surface
-</return>
-</function>
-
 <function name="gdk_surface_get_cursor">
 <description>
 Retrieves a #GdkCursor pointer for the cursor currently set on the
@@ -15731,7 +15561,6 @@ Obtains the current device position in doubles and modifier state.
 The position is given in coordinates relative to the upper left
 corner of @surface.
 
-
 </description>
 <parameters>
 <parameter name="surface">
@@ -15755,10 +15584,7 @@ corner of @surface.
 </parameter_description>
 </parameter>
 </parameters>
-<return> The surface underneath @device
-(as with gdk_device_get_surface_at_position()), or %NULL if the
-surface is not known to GDK.
-</return>
+<return></return>
 </function>
 
 <function name="gdk_surface_get_display">
@@ -15813,28 +15639,6 @@ surface.
 </return>
 </function>
 
-<function name="gdk_surface_get_frame_extents">
-<description>
-Obtains the bounding box of the surface, including window manager
-titlebar/borders if any. The frame position is given in root window
-coordinates. To get the position of the surface itself (rather than
-the frame) in root window coordinates, use gdk_surface_get_origin().
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="rect">
-<parameter_description> rectangle to fill with bounding box of the surface frame
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_get_fullscreen_mode">
 <description>
 Obtains the #GdkFullscreenMode of the @surface.
@@ -15851,55 +15655,6 @@ Obtains the #GdkFullscreenMode of the @surface.
 </return>
 </function>
 
-<function name="gdk_surface_get_geometry">
-<description>
-Any of the return location arguments to this function may be %NULL,
-if you aren’t interested in getting the value of that field.
-
-The X and Y coordinates returned are relative to the parent surface
-of @surface, which for toplevels usually means relative to the
-surface decorations (titlebar, etc.) rather than relative to the
-root window (screen-size background window).
-
-On the X11 platform, the geometry is obtained from the X server,
-so reflects the latest position of @surface; this may be out-of-sync
-with the position of @surface delivered in the most-recently-processed
-#GdkEventConfigure. gdk_surface_get_position() in contrast gets the
-position from the most recent configure event.
-
-Note: If @surface is not a toplevel, it is much better
-to call gdk_surface_get_position(), gdk_surface_get_width() and
-gdk_surface_get_height() instead, because it avoids the roundtrip to
-the X server and because these functions support the full 32-bit
-coordinate space, whereas gdk_surface_get_geometry() is restricted to
-the 16-bit coordinates of X11.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> return location for X coordinate of surface (relative to its parent)
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> return location for Y coordinate of surface (relative to its parent)
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> return location for width of surface
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> return location for height of surface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_get_height">
 <description>
 Returns the height of the given @surface.
@@ -15937,81 +15692,29 @@ has modal behaviour.
 </return>
 </function>
 
-<function name="gdk_surface_get_origin">
-<description>
-Obtains the position of a surface in root window coordinates.
-(Compare with gdk_surface_get_position() and
-gdk_surface_get_geometry() which return the position of a surface
-relative to its parent surface.)
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> return location for X coordinate
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> return location for Y coordinate
-</parameter_description>
-</parameter>
-</parameters>
-<return> not meaningful, ignore
-</return>
-</function>
-
 <function name="gdk_surface_get_parent">
 <description>
-Obtains the parent of @surface, as known to GDK. Does not query the
-X server; thus this returns the parent as passed to gdk_surface_new(),
-not the actual parent. This should never matter unless you’re using
-Xlib calls mixed with GDK calls on the X11 platform. It may also
-matter for toplevel windows, because the window manager may choose
-to reparent them.
+Returns the parent surface of a surface, or
+%NULL if the surface does not have a parent.
 
+Only popup surfaces have parents.
 
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> parent of @surface
-</return>
-</function>
-
-<function name="gdk_surface_get_pass_through">
-<description>
-Returns whether input to the surface is passed through to the surface
-below.
-
-See gdk_surface_set_pass_through() for details
 
 </description>
 <parameters>
 <parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter_description> a #GtkSurface
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the parent of
+@surface, or %NULL
+</return>
 </function>
 
 <function name="gdk_surface_get_position">
 <description>
-Obtains the position of the surface as reported in the
-most-recently-processed #GdkEventConfigure. Contrast with
-gdk_surface_get_geometry() which queries the X server for the
-current surface position, regardless of which events have been
-received or processed.
-
-The position coordinates are relative to the surface’s parent surface.
-
+Obtains the position of the surface relative to its parent.
 
 </description>
 <parameters>
@@ -16031,63 +15734,6 @@ The position coordinates are relative to the surface’s parent surface.
 <return></return>
 </function>
 
-<function name="gdk_surface_get_root_coords">
-<description>
-Obtains the position of a surface position in root
-window coordinates. This is similar to
-gdk_surface_get_origin() but allows you to pass
-in any position in the surface, not just the origin.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X coordinate in surface
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y coordinate in surface
-</parameter_description>
-</parameter>
-<parameter name="root_x">
-<parameter_description> return location for X coordinate
-</parameter_description>
-</parameter>
-<parameter name="root_y">
-<parameter_description> return location for Y coordinate
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_get_root_origin">
-<description>
-Obtains the top-left corner of the window manager frame in root
-surface coordinates.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> return location for X position of surface frame
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> return location for Y position of surface frame
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_get_scale_factor">
 <description>
 Returns the internal scale factor that maps from surface coordiantes
@@ -16165,26 +15811,6 @@ Gets the type of the surface. See #GdkSurfaceType.
 </return>
 </function>
 
-<function name="gdk_surface_get_toplevel">
-<description>
-Gets the toplevel surface that’s an ancestor of @surface.
-
-Any surface type but %GDK_SURFACE_CHILD is considered a
-toplevel surface, as is a %GDK_SURFACE_CHILD surface that
-has a root surface as parent.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> the toplevel surface containing @surface
-</return>
-</function>
-
 <function name="gdk_surface_get_type_hint">
 <description>
 This function returns the type hint set for a surface.
@@ -16221,22 +15847,6 @@ size on the X server.
 </return>
 </function>
 
-<function name="gdk_surface_has_native">
-<description>
-Checks whether the surface has a native surface or not.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the @surface has a native surface, %FALSE otherwise.
-</return>
-</function>
-
 <function name="gdk_surface_hide">
 <description>
 For toplevel surfaces, withdraws them, so they will no longer be
@@ -16344,11 +15954,6 @@ GDK will process all updates whenever the frame clock schedules a redraw,
 so there’s no need to do forces redraws manually, you just need to
 invalidate regions that you know should be redrawn.
 
-The @invalidate_children parameter controls whether the region of
-each child surface that intersects @region will also be invalidated.
-If %FALSE, then the update area for child surfaces will remain
-unaffected.
-
 </description>
 <parameters>
 <parameter name="surface">
@@ -16379,22 +15984,6 @@ Check to see if a surface is destroyed..
 </return>
 </function>
 
-<function name="gdk_surface_is_input_only">
-<description>
-Determines whether or not the surface is an input only surface.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a toplevel #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @surface is input only
-</return>
-</function>
-
 <function name="gdk_surface_is_viewable">
 <description>
 Check if the surface and all ancestors of the surface are
@@ -16479,89 +16068,6 @@ On Windows, reliably maximizes the surface.
 <return></return>
 </function>
 
-<function name="gdk_surface_merge_child_input_shapes">
-<description>
-Merges the input shape masks for any child surfaces into the
-input shape mask for @surface. i.e. the union of all input masks
-for @surface and its children will become the new input mask
-for @surface. See gdk_surface_input_shape_combine_region().
-
-This function is distinct from gdk_surface_set_child_input_shapes()
-because it includes @surface’s input shape mask in the set of
-shapes to be merged.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_move">
-<description>
-Repositions a surface relative to its parent surface.
-For toplevel surfaces, window managers may ignore or modify the move;
-you should probably use gtk_window_move() on a #GtkWindow widget
-anyway, instead of using GDK functions. For child surfaces,
-the move will reliably succeed.
-
-If you’re also planning to resize the surface, use gdk_surface_move_resize()
-to both move and resize simultaneously, for a nicer visual effect.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X coordinate relative to surface’s parent
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y coordinate relative to surface’s parent
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_surface_move_resize">
-<description>
-Equivalent to calling gdk_surface_move() and gdk_surface_resize(),
-except that both operations are performed at once, avoiding strange
-visual effects. (i.e. the user may be able to see the surface first
-move, then resize, if you don’t use gdk_surface_move_resize().)
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> new X position relative to surface’s parent
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> new Y position relative to surface’s parent
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> new width
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> new height
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_move_to_rect">
 <description>
 Moves @surface to @rect, aligning their anchor points.
@@ -16615,30 +16121,38 @@ point
 <return></return>
 </function>
 
-<function name="gdk_surface_new_child">
+<function name="gdk_surface_new_popup">
 <description>
-Creates a new client-side child surface.
+Create a new popup surface.
+
+The surface will be attached to @parent and can
+be positioned relative to it using
+gdk_surface_move_to_rect().
 
 
 </description>
 <parameters>
+<parameter name="display">
+<parameter_description> the display to create the surface on
+</parameter_description>
+</parameter>
 <parameter name="parent">
-<parameter_description> the parent surface
+<parameter_description> the parent surface to attach the surface to
 </parameter_description>
 </parameter>
-<parameter name="position">
-<parameter_description> placement of the surface inside @parent
+<parameter name="autohide">
+<parameter_description> whether to hide the surface on outside clicks
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #GdkSurface
+<return> a new #GdkSurface
 </return>
 </function>
 
-<function name="gdk_surface_new_popup">
+<function name="gdk_surface_new_temp">
 <description>
-Creates a new toplevel popup surface. The surface will bypass surface
-management.
+Creates a new temporary surface.
+The surface will bypass surface management.
 
 
 </description>
@@ -16656,29 +16170,9 @@ management.
 </return>
 </function>
 
-<function name="gdk_surface_new_temp">
-<description>
-Creates a new toplevel temporary surface. The surface will be
-situated off-screen and not handle output.
-
-You most likely do not want to use this function.
-
-
-</description>
-<parameters>
-<parameter name="display">
-<parameter_description> the display to create the surface on
-</parameter_description>
-</parameter>
-</parameters>
-<return> the new #GdkSurface
-</return>
-</function>
-
 <function name="gdk_surface_new_toplevel">
 <description>
-Creates a new toplevel surface. The surface will be managed by the surface
-manager.
+Creates a new toplevel surface.
 
 
 </description>
@@ -16700,24 +16194,6 @@ manager.
 </return>
 </function>
 
-<function name="gdk_surface_peek_children">
-<description>
-Like gdk_surface_get_children(), but does not copy the list of
-children, so the list does not need to be freed.
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return>
-a reference to the list of child surfaces in @surface
-</return>
-</function>
-
 <function name="gdk_surface_queue_expose">
 <description>
 Forces an expose event for @surface to be scheduled.
@@ -16780,9 +16256,6 @@ use gtk_window_resize() instead of this low-level GDK function.
 
 Surfaces may not be resized below 1x1.
 
-If you’re also planning to move the surface, use gdk_surface_move_resize()
-to both move and resize simultaneously, for a nicer visual effect.
-
 </description>
 <parameters>
 <parameter name="surface">
@@ -16854,23 +16327,6 @@ hint. ICCCM-compliant window manager usually respect it.
 <return></return>
 </function>
 
-<function name="gdk_surface_set_child_input_shapes">
-<description>
-Sets the input shape mask of @surface to the union of input shape masks
-for all children of @surface, ignoring the input shape mask of @surface
-itself. Contrast with gdk_surface_merge_child_input_shapes() which includes
-the input shape mask of @surface in the masks to be merged.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_set_cursor">
 <description>
 Sets the default mouse pointer for a #GdkSurface.
@@ -17281,41 +16737,6 @@ property in your #GtkWidget::style-updated handler.
 <return></return>
 </function>
 
-<function name="gdk_surface_set_pass_through">
-<description>
-Sets whether input to the surface is passed through to the surface
-below.
-
-The default value of this is %FALSE, which means that pointer
-events that happen inside the surface are send first to the surface,
-but if the event is not selected by the event mask then the event
-is sent to the parent surface, and so on up the hierarchy.
-
-If @pass_through is %TRUE then such pointer events happen as if the
-surface wasn't there at all, and thus will be sent first to any
-surfaces below @surface. This is useful if the surface is used in a
-transparent fashion. In the terminology of the web this would be called
-&quot;pointer-events: none&quot;.
-
-Note that a surface with @pass_through %TRUE can still have a subsurface
-without pass through, so you can get events on a subset of a surface. And in
-that cases you would get the in-between related events such as the pointer
-enter/leave events on its way to the destination surface.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-<parameter name="pass_through">
-<parameter_description> a boolean
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_set_shadow_width">
 <description>
 Newer GTK windows using client-side decorations use extra geometry
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index ed8cde53..b8d72768 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -444,8 +444,8 @@
 ;; typedef enum
 ;; {
 ;;   GDK_SURFACE_TOPLEVEL,
-;;   GDK_SURFACE_CHILD,
-;;   GDK_SURFACE_TEMP
+;;   GDK_SURFACE_TEMP,
+;;   GDK_SURFACE_POPUP
 ;; } GdkSurfaceType;
 
 (define-enum-extended SurfaceType
@@ -453,8 +453,8 @@
   (c-name "GdkSurfaceType")
   (values
     '("toplevel" "GDK_SURFACE_TOPLEVEL" "0")
-    '("child" "GDK_SURFACE_CHILD" "1")
-    '("temp" "GDK_SURFACE_TEMP" "2")
+    '("temp" "GDK_SURFACE_TEMP" "1")
+    '("popup" "GDK_SURFACE_POPUP" "2")
   )
 )
 
@@ -610,7 +610,7 @@
 ;;   GDK_SURFACE_EDGE_EAST,
 ;;   GDK_SURFACE_EDGE_SOUTH_WEST,
 ;;   GDK_SURFACE_EDGE_SOUTH,
-;;   GDK_SURFACE_EDGE_SOUTH_EAST  
+;;   GDK_SURFACE_EDGE_SOUTH_EAST
 ;; } GdkSurfaceEdge;
 
 (define-enum-extended SurfaceEdge
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 7e952439..4fc132cf 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -7,13 +7,6 @@
   (gtype-id "GDK_TYPE_CONTENT_PROVIDER")
 )
 
-(define-object SurfaceImpl
-  (in-module "Gdk")
-  (parent "GObject")
-  (c-name "GdkSurfaceImpl")
-  (gtype-id "GDK_TYPE_SURFACE_IMPL")
-)
-
 ;; Enumerations and flags ...
 
 (define-enum InputSource
@@ -268,8 +261,8 @@
   (gtype-id "GDK_TYPE_SURFACE_TYPE")
   (values
     '("toplevel" "GDK_SURFACE_TOPLEVEL")
-    '("child" "GDK_SURFACE_CHILD")
     '("temp" "GDK_SURFACE_TEMP")
+    '("popup" "GDK_SURFACE_POPUP")
   )
 )
 
@@ -1670,16 +1663,6 @@
   )
 )
 
-(define-method get_position
-  (of-object "GdkDevice")
-  (c-name "gdk_device_get_position")
-  (return-type "none")
-  (parameters
-    '("double*" "x")
-    '("double*" "y")
-  )
-)
-
 (define-method get_surface_at_position
   (of-object "GdkDevice")
   (c-name "gdk_device_get_surface_at_position")
@@ -2060,16 +2043,6 @@
   (return-type "GdkMonitor*")
 )
 
-(define-method get_monitor_at_point
-  (of-object "GdkDisplay")
-  (c-name "gdk_display_get_monitor_at_point")
-  (return-type "GdkMonitor*")
-  (parameters
-    '("int" "x")
-    '("int" "y")
-  )
-)
-
 (define-method get_monitor_at_surface
   (of-object "GdkDisplay")
   (c-name "gdk_display_get_monitor_at_surface")
@@ -2477,16 +2450,6 @@
   )
 )
 
-(define-method get_root_coords
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_root_coords")
-  (return-type "gboolean")
-  (parameters
-    '("gdouble*" "x_root")
-    '("gdouble*" "y_root")
-  )
-)
-
 (define-method get_button
   (of-object "GdkEvent")
   (c-name "gdk_event_get_button")
@@ -3838,29 +3801,22 @@
   )
 )
 
-(define-function gdk_surface_new_popup
-  (c-name "gdk_surface_new_popup")
-  (return-type "GdkSurface*")
-  (parameters
-    '("GdkDisplay*" "display")
-    '("const-GdkRectangle*" "position")
-  )
-)
-
 (define-function gdk_surface_new_temp
   (c-name "gdk_surface_new_temp")
   (return-type "GdkSurface*")
   (parameters
     '("GdkDisplay*" "display")
+    '("const-GdkRectangle*" "position")
   )
 )
 
-(define-method new_child
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_new_child")
+(define-function gdk_surface_new_popup
+  (c-name "gdk_surface_new_popup")
   (return-type "GdkSurface*")
   (parameters
-    '("const-GdkRectangle*" "position")
+    '("GdkDisplay*" "display")
+    '("GdkSurface*" "parent")
+    '("gboolean" "autohide")
   )
 )
 
@@ -3882,6 +3838,12 @@
   (return-type "gboolean")
 )
 
+(define-method get_parent
+  (of-object "GdkSurface")
+  (c-name "gdk_surface_get_parent")
+  (return-type "GdkSurface*")
+)
+
 (define-method get_display
   (of-object "GdkSurface")
   (c-name "gdk_surface_get_display")
@@ -3906,16 +3868,6 @@
   (return-type "none")
 )
 
-(define-method move
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_move")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
 (define-method resize
   (of-object "GdkSurface")
   (c-name "gdk_surface_resize")
@@ -3926,18 +3878,6 @@
   )
 )
 
-(define-method move_resize
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_move_resize")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
 (define-method move_to_rect
   (of-object "GdkSurface")
   (c-name "gdk_surface_move_to_rect")
@@ -4024,33 +3964,6 @@
   )
 )
 
-(define-method set_child_input_shapes
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_child_input_shapes")
-  (return-type "none")
-)
-
-(define-method merge_child_input_shapes
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_merge_child_input_shapes")
-  (return-type "none")
-)
-
-(define-method set_pass_through
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_set_pass_through")
-  (return-type "none")
-  (parameters
-    '("gboolean" "pass_through")
-  )
-)
-
-(define-method get_pass_through
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_pass_through")
-  (return-type "gboolean")
-)
-
 (define-method is_visible
   (of-object "GdkSurface")
   (c-name "gdk_surface_is_visible")
@@ -4063,24 +3976,12 @@
   (return-type "gboolean")
 )
 
-(define-method is_input_only
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_is_input_only")
-  (return-type "gboolean")
-)
-
 (define-method get_state
   (of-object "GdkSurface")
   (c-name "gdk_surface_get_state")
   (return-type "GdkSurfaceState")
 )
 
-(define-method has_native
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_has_native")
-  (return-type "gboolean")
-)
-
 (define-method set_type_hint
   (of-object "GdkSurface")
   (c-name "gdk_surface_set_type_hint")
@@ -4182,18 +4083,6 @@
   )
 )
 
-(define-method get_geometry
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_geometry")
-  (return-type "none")
-  (parameters
-    '("gint*" "x")
-    '("gint*" "y")
-    '("gint*" "width")
-    '("gint*" "height")
-  )
-)
-
 (define-method get_width
   (of-object "GdkSurface")
   (c-name "gdk_surface_get_width")
@@ -4216,68 +4105,14 @@
   )
 )
 
-(define-method get_origin
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_origin")
-  (return-type "gint")
-  (parameters
-    '("gint*" "x")
-    '("gint*" "y")
-  )
-)
-
-(define-method get_root_coords
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_root_coords")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-    '("gint*" "root_x")
-    '("gint*" "root_y")
-  )
-)
-
-(define-method coords_to_parent
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_coords_to_parent")
-  (return-type "none")
-  (parameters
-    '("gdouble" "x")
-    '("gdouble" "y")
-    '("gdouble*" "parent_x")
-    '("gdouble*" "parent_y")
-  )
-)
-
-(define-method coords_from_parent
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_coords_from_parent")
-  (return-type "none")
-  (parameters
-    '("gdouble" "parent_x")
-    '("gdouble" "parent_y")
-    '("gdouble*" "x")
-    '("gdouble*" "y")
-  )
-)
-
-(define-method get_root_origin
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_root_origin")
-  (return-type "none")
-  (parameters
-    '("gint*" "x")
-    '("gint*" "y")
-  )
-)
-
-(define-method get_frame_extents
+(define-method translate_coordinates
   (of-object "GdkSurface")
-  (c-name "gdk_surface_get_frame_extents")
-  (return-type "none")
+  (c-name "gdk_surface_translate_coordinates")
+  (return-type "gboolean")
   (parameters
-    '("GdkRectangle*" "rect")
+    '("GdkSurface*" "to")
+    '("double*" "x")
+    '("double*" "y")
   )
 )
 
@@ -4290,7 +4125,7 @@
 (define-method get_device_position
   (of-object "GdkSurface")
   (c-name "gdk_surface_get_device_position")
-  (return-type "GdkSurface*")
+  (return-type "none")
   (parameters
     '("GdkDevice*" "device")
     '("double*" "x")
@@ -4299,30 +4134,6 @@
   )
 )
 
-(define-method get_parent
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_parent")
-  (return-type "GdkSurface*")
-)
-
-(define-method get_toplevel
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_toplevel")
-  (return-type "GdkSurface*")
-)
-
-(define-method get_children
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_get_children")
-  (return-type "GList*")
-)
-
-(define-method peek_children
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_peek_children")
-  (return-type "GList*")
-)
-
 (define-method set_icon_list
   (of-object "GdkSurface")
   (c-name "gdk_surface_set_icon_list")
@@ -4650,15 +4461,6 @@
 
 
 
-;; From gdksurfaceimpl.h
-
-(define-function gdk_surface_impl_get_type
-  (c-name "gdk_surface_impl_get_type")
-  (return-type "GType")
-)
-
-
-
 ;; From gdktexture.h
 
 (define-function gdk_texture_new_for_pixbuf
diff --git a/gdk/src/gdk_signals.defs b/gdk/src/gdk_signals.defs
index 68f1c7ff..a5f1a60e 100644
--- a/gdk/src/gdk_signals.defs
+++ b/gdk/src/gdk_signals.defs
@@ -996,6 +996,16 @@
   )
 )
 
+(define-property surface-type
+  (of-object "GdkSurface")
+  (prop-type "GParamEnum")
+  (docs "Surface type")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+  (default-value "GDK_SURFACE_TOPLEVEL")
+)
+
 (define-property cursor
   (of-object "GdkSurface")
   (prop-type "GParamObject")
@@ -1014,6 +1024,15 @@
   (construct-only #t)
 )
 
+(define-property parent
+  (of-object "GdkSurface")
+  (prop-type "GParamObject")
+  (docs "Parent surface")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
 (define-property frame-clock
   (of-object "GdkSurface")
   (prop-type "GParamObject")
@@ -1043,6 +1062,16 @@
   (default-value "FALSE")
 )
 
+(define-property autohide
+  (of-object "GdkSurface")
+  (prop-type "GParamBoolean")
+  (docs "Whether to dismiss the surface on outside clicks")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+  (default-value "FALSE")
+)
+
 ;; From GdkTexture
 
 (define-property width
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index 8a4c0c70..74bd267d 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -729,27 +729,6 @@ of whether the desktop shell is showing the menus or not.
 </description>
 </property>
 
-<enum name="GtkArrowPlacement">
-<description>
-Used to specify the placement of scroll arrows in scrolling menus.
-
-</description>
-<parameters>
-<parameter name="GTK_ARROWS_BOTH">
-<parameter_description> Place one arrow on each end of the menu.
-</parameter_description>
-</parameter>
-<parameter name="GTK_ARROWS_START">
-<parameter_description> Place both arrows at the top of the menu.
-</parameter_description>
-</parameter>
-<parameter name="GTK_ARROWS_END">
-<parameter_description> Place both arrows at the bottom of the menu.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GtkArrowType">
 <description>
 Used to indicate the direction in which an arrow should point.
@@ -2741,6 +2720,11 @@ deprecated and will be removed in a future version
 that should be avoided
 </parameter_description>
 </parameter>
+<parameter name="GTK_CSS_PARSER_WARNING_UNIMPLEMENTED">
+<parameter_description> A feature is not
+implemented
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -3693,6 +3677,13 @@ Specifies the side of the entry at which an icon is placed.
 </parameters>
 </enum>
 
+<property name="GtkEventController:propagation-limit">
+<description>
+The limit for which events this controller will handle.
+
+</description>
+</property>
+
 <property name="GtkEventController:propagation-phase">
 <description>
 The propagation phase at which this controller will handle events.
@@ -5454,9 +5445,9 @@ The number of touch points that trigger recognition on this gesture,
 </description>
 </property>
 
-<signal name="GtkGestureDrag::drag-begin">
+<signal name="GtkGestureClick::pressed">
 <description>
-This signal is emitted whenever dragging starts.
+This signal is emitted whenever a button or touch press happens.
 
 </description>
 <parameters>
@@ -5464,21 +5455,28 @@ This signal is emitted whenever dragging starts.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="start_x">
-<parameter_description> X coordinate, relative to the widget allocation
+<parameter name="n_press">
+<parameter_description> how many touch/button presses happened with this one
 </parameter_description>
 </parameter>
-<parameter name="start_y">
-<parameter_description> Y coordinate, relative to the widget allocation
+<parameter name="x">
+<parameter_description> The X coordinate, in widget allocation coordinates
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The Y coordinate, in widget allocation coordinates
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureDrag::drag-end">
+<signal name="GtkGestureClick::released">
 <description>
-This signal is emitted whenever the dragging is finished.
+This signal is emitted when a button or touch is released. @n_press
+will report the number of press that is paired to this event, note
+that #GtkGestureClick::stopped may have been emitted between the
+press and its release, @n_press will only start over at the next press.
 
 </description>
 <parameters>
@@ -5486,21 +5484,26 @@ This signal is emitted whenever the dragging is finished.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="offset_x">
-<parameter_description> X offset, relative to the start point
+<parameter name="n_press">
+<parameter_description> number of press that is paired with this release
 </parameter_description>
 </parameter>
-<parameter name="offset_y">
-<parameter_description> Y offset, relative to the start point
+<parameter name="x">
+<parameter_description> The X coordinate, in widget allocation coordinates
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> The Y coordinate, in widget allocation coordinates
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureDrag::drag-update">
+<signal name="GtkGestureClick::stopped">
 <description>
-This signal is emitted whenever the dragging point moves.
+This signal is emitted whenever any time/distance threshold has
+been exceeded.
 
 </description>
 <parameters>
@@ -5508,22 +5511,17 @@ This signal is emitted whenever the dragging point moves.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="offset_x">
-<parameter_description> X offset, relative to the start point
-</parameter_description>
-</parameter>
-<parameter name="offset_y">
-<parameter_description> Y offset, relative to the start point
-</parameter_description>
-</parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureLongPress::cancelled">
+<signal name="GtkGestureClick::unpaired-release">
 <description>
-This signal is emitted whenever a press moved too far, or was released
-before #GtkGestureLongPress::pressed happened.
+This signal is emitted whenever the gesture receives a release
+event that had no previous corresponding press. Due to implicit
+grabs, this can only happen on situations where input is grabbed
+elsewhere mid-press or the pressed widget voluntarily relinquishes
+its implicit grab.
 
 </description>
 <parameters>
@@ -5531,14 +5529,29 @@ before #GtkGestureLongPress::pressed happened.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
+<parameter name="x">
+<parameter_description> X coordinate of the event
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> Y coordinate of the event
+</parameter_description>
+</parameter>
+<parameter name="button">
+<parameter_description> Button being released
+</parameter_description>
+</parameter>
+<parameter name="sequence">
+<parameter_description> Sequence being released
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureLongPress::pressed">
+<signal name="GtkGestureDrag::drag-begin">
 <description>
-This signal is emitted whenever a press goes unmoved/unreleased longer than
-what the GTK+ defaults tell.
+This signal is emitted whenever dragging starts.
 
 </description>
 <parameters>
@@ -5546,21 +5559,21 @@ what the GTK+ defaults tell.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> the X coordinate where the press happened, relative to the widget allocation
+<parameter name="start_x">
+<parameter_description> X coordinate, relative to the widget allocation
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> the Y coordinate where the press happened, relative to the widget allocation
+<parameter name="start_y">
+<parameter_description> Y coordinate, relative to the widget allocation
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureMultiPress::pressed">
+<signal name="GtkGestureDrag::drag-end">
 <description>
-This signal is emitted whenever a button or touch press happens.
+This signal is emitted whenever the dragging is finished.
 
 </description>
 <parameters>
@@ -5568,28 +5581,21 @@ This signal is emitted whenever a button or touch press happens.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="n_press">
-<parameter_description> how many touch/button presses happened with this one
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> The X coordinate, in widget allocation coordinates
+<parameter name="offset_x">
+<parameter_description> X offset, relative to the start point
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> The Y coordinate, in widget allocation coordinates
+<parameter name="offset_y">
+<parameter_description> Y offset, relative to the start point
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureMultiPress::released">
+<signal name="GtkGestureDrag::drag-update">
 <description>
-This signal is emitted when a button or touch is released. @n_press
-will report the number of press that is paired to this event, note
-that #GtkGestureMultiPress::stopped may have been emitted between the
-press and its release, @n_press will only start over at the next press.
+This signal is emitted whenever the dragging point moves.
 
 </description>
 <parameters>
@@ -5597,26 +5603,22 @@ press and its release, @n_press will only start over at the next press.
 <parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="n_press">
-<parameter_description> number of press that is paired with this release
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> The X coordinate, in widget allocation coordinates
+<parameter name="offset_x">
+<parameter_description> X offset, relative to the start point
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> The Y coordinate, in widget allocation coordinates
+<parameter name="offset_y">
+<parameter_description> Y offset, relative to the start point
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkGestureMultiPress::stopped">
+<signal name="GtkGestureLongPress::cancelled">
 <description>
-This signal is emitted whenever any time/distance threshold has
-been exceeded.
+This signal is emitted whenever a press moved too far, or was released
+before #GtkGestureLongPress::pressed happened.
 
 </description>
 <parameters>
@@ -5628,13 +5630,10 @@ been exceeded.
 <return></return>
 </signal>
 
-<signal name="GtkGestureMultiPress::unpaired-release">
+<signal name="GtkGestureLongPress::pressed">
 <description>
-This signal is emitted whenever the gesture receives a release
-event that had no previous corresponding press. Due to implicit
-grabs, this can only happen on situations where input is grabbed
-elsewhere mid-press or the pressed widget voluntarily relinquishes
-its implicit grab.
+This signal is emitted whenever a press goes unmoved/unreleased longer than
+what the GTK+ defaults tell.
 
 </description>
 <parameters>
@@ -5643,19 +5642,11 @@ its implicit grab.
 </parameter_description>
 </parameter>
 <parameter name="x">
-<parameter_description> X coordinate of the event
+<parameter_description> the X coordinate where the press happened, relative to the widget allocation
 </parameter_description>
 </parameter>
 <parameter name="y">
-<parameter_description> Y coordinate of the event
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> Button being released
-</parameter_description>
-</parameter>
-<parameter name="sequence">
-<parameter_description> Sequence being released
+<parameter_description> the Y coordinate where the press happened, relative to the widget allocation
 </parameter_description>
 </parameter>
 </parameters>
@@ -8218,14 +8209,6 @@ necessary properties to the notebook (e.g. the
 <parameter_description> the tab of @notebook that is being detached
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> the X coordinate where the drop happens
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> the Y coordinate where the drop happens
-</parameter_description>
-</parameter>
 </parameters>
 <return> a #GtkNotebook that @page should be
 added to, or %NULL.
@@ -8836,53 +8819,6 @@ scrolled windows share a scrollbar.
 </parameters>
 </enum>
 
-<signal name="GtkPopover::closed">
-<description>
-This signal is emitted when the popover is dismissed either through
-API or user interaction.
-
-</description>
-<parameters>
-</parameters>
-<return></return>
-</signal>
-
-<property name="GtkPopover:constrain-to">
-<description>
-Sets a constraint for the popover position.
-
-</description>
-</property>
-
-<property name="GtkPopover:modal">
-<description>
-Sets whether the popover is modal (so other elements in the window do not
-receive input while the popover is visible).
-
-</description>
-</property>
-
-<property name="GtkPopover:pointing-to">
-<description>
-Marks a specific rectangle to be pointed.
-
-</description>
-</property>
-
-<property name="GtkPopover:position">
-<description>
-Sets the preferred position of the popover.
-
-</description>
-</property>
-
-<property name="GtkPopover:relative-to">
-<description>
-Sets the attached widget.
-
-</description>
-</property>
-
 <enum name="GtkPopoverConstraint">
 <description>
 Describes constraints to positioning of popovers. More values
@@ -9856,6 +9792,27 @@ to the empty string (not %NULL).
 </description>
 </property>
 
+<enum name="GtkPropagationLimit">
+<description>
+Describes limits of a #GtkEventController for handling events
+targeting other widgets.
+
+</description>
+<parameters>
+<parameter name="GTK_LIMIT_NONE">
+<parameter_description> Events are handled regardless of what their
+target is.
+</parameter_description>
+</parameter>
+<parameter name="GTK_LIMIT_SAME_NATIVE">
+<parameter_description> Events are only handled if their target
+is in the same #GtkNative as the event controllers widget. Note
+that some event types have two targets (origin and destination).
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
 <enum name="GtkPropagationPhase">
 <description>
 Describes the stage at which events are fed into a #GtkEventController.
@@ -10696,6 +10653,9 @@ scrollbars are only added as traditional widgets when a mouse
 is present. Otherwise, they are overlayed on top of the content,
 as narrow indicators.
 
+Note that overlay scrolling can also be globally disabled, with
+the #GtkSettings::gtk-overlay-scrolling setting.
+
 </description>
 </property>
 
@@ -11096,6 +11056,15 @@ The time for a button or touch press to be considered a &quot;long press&quot;.
 </description>
 </property>
 
+<property name="GtkSettings:gtk-overlay-scrolling">
+<description>
+Whether scrolled windows may use overlayed scrolling indicators.
+If this is set to %FALSE, scrolled windows will have permanent
+scrollbars.
+
+</description>
+</property>
+
 <property name="GtkSettings:gtk-primary-button-warps-slider">
 <description>
 If the value of this setting is %TRUE, clicking the primary button in a
@@ -15690,13 +15659,6 @@ more details about widget scaling.
 </description>
 </property>
 
-<property name="GtkWidget:surface">
-<description>
-The widget's surface if it is realized, %NULL otherwise.
-
-</description>
-</property>
-
 <property name="GtkWidget:tooltip-markup">
 <description>
 Sets the text of tooltip to be the given string, which is marked up
@@ -15953,38 +15915,6 @@ more details about transient windows.
 </description>
 </property>
 
-<enum name="GtkWindowPosition">
-<description>
-Window placement can be influenced using this enumeration. Note that
-using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea.
-It won’t necessarily work well with all window managers or on all windowing systems.
-
-</description>
-<parameters>
-<parameter name="GTK_WIN_POS_NONE">
-<parameter_description> No influence is made on placement.
-</parameter_description>
-</parameter>
-<parameter name="GTK_WIN_POS_CENTER">
-<parameter_description> Windows should be placed in the center of the screen.
-</parameter_description>
-</parameter>
-<parameter name="GTK_WIN_POS_MOUSE">
-<parameter_description> Windows should be placed at the current mouse position.
-</parameter_description>
-</parameter>
-<parameter name="GTK_WIN_POS_CENTER_ALWAYS">
-<parameter_description> Keep window centered as it changes size, etc.
-</parameter_description>
-</parameter>
-<parameter name="GTK_WIN_POS_CENTER_ON_PARENT">
-<parameter_description> Center the window on its transient
-parent (see gtk_window_set_transient_for()).
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GtkWindowType">
 <description>
 A #GtkWindow can be one of these types. Most things you’d consider a
@@ -29017,7 +28947,7 @@ guint time)
 {
 GdkModifierType mask;
 
-gdk_surface_get_pointer (gtk_widget_get_surface (widget),
+gdk_surface_get_pointer (gtk_native_get_surface (gtk_widget_get_native (widget)),
 NULL, NULL, &amp;mask);
 if (mask &amp; GDK_CONTROL_MASK)
 gdk_drag_status (context, GDK_ACTION_COPY, time);
@@ -36629,6 +36559,68 @@ applied by removing or adding the .flat class to the main CSS node, frame.
 <return></return>
 </function>
 
+<function name="gtk_gesture_click_get_area">
+<description>
+If an area was set through gtk_gesture_click_set_area(),
+this function will return %TRUE and fill in @rect with the
+press area. See gtk_gesture_click_set_area() for more
+details on what the press area represents.
+
+
+</description>
+<parameters>
+<parameter name="gesture">
+<parameter_description> a #GtkGestureClick
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> return location for the press area
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @rect was filled with the press area
+</return>
+</function>
+
+<function name="gtk_gesture_click_new">
+<description>
+Returns a newly created #GtkGesture that recognizes single and multiple
+presses.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a newly created #GtkGestureClick
+</return>
+</function>
+
+<function name="gtk_gesture_click_set_area">
+<description>
+If @rect is non-%NULL, the press area will be checked to be
+confined within the rectangle, otherwise the button count
+will be reset so the press is seen as being the first one.
+If @rect is %NULL, the area will be reset to an unrestricted
+state.
+
+Note: The rectangle is only used to determine whether any
+non-first click falls within the expected area. This is not
+akin to an input shape.
+
+</description>
+<parameters>
+<parameter name="gesture">
+<parameter_description> a #GtkGestureClick
+</parameter_description>
+</parameter>
+<parameter name="rect">
+<parameter_description> rectangle to receive coordinates on
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_gesture_drag_get_offset">
 <description>
 If the @gesture is active, this function returns %TRUE and
@@ -37015,68 +37007,6 @@ Returns a newly created #GtkGesture that recognizes long presses.
 </return>
 </function>
 
-<function name="gtk_gesture_multi_press_get_area">
-<description>
-If an area was set through gtk_gesture_multi_press_set_area(),
-this function will return %TRUE and fill in @rect with the
-press area. See gtk_gesture_multi_press_set_area() for more
-details on what the press area represents.
-
-
-</description>
-<parameters>
-<parameter name="gesture">
-<parameter_description> a #GtkGestureMultiPress
-</parameter_description>
-</parameter>
-<parameter name="rect">
-<parameter_description> return location for the press area
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @rect was filled with the press area
-</return>
-</function>
-
-<function name="gtk_gesture_multi_press_new">
-<description>
-Returns a newly created #GtkGesture that recognizes single and multiple
-presses.
-
-
-</description>
-<parameters>
-</parameters>
-<return> a newly created #GtkGestureMultiPress
-</return>
-</function>
-
-<function name="gtk_gesture_multi_press_set_area">
-<description>
-If @rect is non-%NULL, the press area will be checked to be
-confined within the rectangle, otherwise the button count
-will be reset so the press is seen as being the first one.
-If @rect is %NULL, the area will be reset to an unrestricted
-state.
-
-Note: The rectangle is only used to determine whether any
-non-first click falls within the expected area. This is not
-akin to an input shape.
-
-</description>
-<parameters>
-<parameter name="gesture">
-<parameter_description> a #GtkGestureMultiPress
-</parameter_description>
-</parameter>
-<parameter name="rect">
-<parameter_description> rectangle to receive coordinates on
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_gesture_pan_get_orientation">
 <description>
 Returns the orientation of the pan gestures that this @gesture expects.
@@ -47576,6 +47506,22 @@ returns %NULL.
 </return>
 </function>
 
+<function name="gtk_menu_button_get_relief">
+<description>
+Returns the current relief style of the given #GtkMenuButton.
+
+
+</description>
+<parameters>
+<parameter name="menu_button">
+<parameter_description> The #GtkMenuButton you want the #GtkReliefStyle from.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current #GtkReliefStyle
+</return>
+</function>
+
 <function name="gtk_menu_button_get_use_popover">
 <description>
 Returns whether a #GtkPopover or a #GtkMenu will be constructed
@@ -47607,6 +47553,34 @@ with another #GtkWidget should you wish to.
 </return>
 </function>
 
+<function name="gtk_menu_button_popdown">
+<description>
+Dismiss the menu.
+
+</description>
+<parameters>
+<parameter name="menu_button">
+<parameter_description> a #GtkMenuButton
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_menu_button_popup">
+<description>
+Pop up the menu.
+
+</description>
+<parameters>
+<parameter name="menu_button">
+<parameter_description> a #GtkMenuButton
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_menu_button_set_align_widget">
 <description>
 Sets the #GtkWidget to use to line the menu with when popped up.
@@ -47686,7 +47660,7 @@ Sets the label to show inside the menu button.
 <parameter_description> a #GtkMenuButton
 </parameter_description>
 </parameter>
-<parameter name="icon_name">
+<parameter name="label">
 <parameter_description> the label
 </parameter_description>
 </parameter>
@@ -47767,6 +47741,28 @@ are dissociated from the @menu_button, and those properties are set to %NULL.
 <return></return>
 </function>
 
+<function name="gtk_menu_button_set_relief">
+<description>
+Sets the relief style of the edges of the given
+#GtkMenuButton widget.
+
+Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE.
+The default style is, as one can guess, %GTK_RELIEF_NORMAL.
+
+</description>
+<parameters>
+<parameter name="menu_button">
+<parameter_description> The #GtkMenuButton you want to set relief styles of
+</parameter_description>
+</parameter>
+<parameter name="relief">
+<parameter_description> The GtkReliefStyle as described above
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_menu_button_set_use_popover">
 <description>
 Sets whether to construct a #GtkPopover instead of #GtkMenu
@@ -49427,6 +49423,23 @@ Sets the transient parent for windows shown by the
 <return></return>
 </function>
 
+<function name="gtk_native_check_resize">
+<description>
+Reposition and resize a #GtkNative.
+
+Widgets need to call this function on their attached
+native widgets when they receive a new size allocation.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkNative
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_native_dialog_destroy">
 <description>
 Destroys a dialog.
@@ -49663,6 +49676,54 @@ Multiple calls while the dialog is visible will be ignored.
 <return></return>
 </function>
 
+<function name="gtk_native_get_for_surface">
+<description>
+Finds the GtkNative associated with the surface.
+
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> a #GdkSurface
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkNative that is associated with @surface
+</return>
+</function>
+
+<function name="gtk_native_get_renderer">
+<description>
+Returns the renderer that is used for this #GtkNative.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkNative
+</parameter_description>
+</parameter>
+</parameters>
+<return> the renderer for @self
+</return>
+</function>
+
+<function name="gtk_native_get_surface">
+<description>
+Returns the surface of this #GtkNative.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkNative
+</parameter_description>
+</parameter>
+</parameters>
+<return> the surface of @self
+</return>
+</function>
+
 <function name="gtk_notebook_append_page">
 <description>
 Appends a page to @notebook.
@@ -52865,27 +52926,12 @@ binding
 <return></return>
 </function>
 
-<function name="gtk_popover_get_constrain_to">
+<function name="gtk_popover_get_autohide">
 <description>
-Returns the constraint for placing this popover.
-See gtk_popover_set_constrain_to().
+Returns whether the popover is modal.
 
-
-</description>
-<parameters>
-<parameter name="popover">
-<parameter_description> a #GtkPopover
-</parameter_description>
-</parameter>
-</parameters>
-<return> the constraint for placing this popover.
-</return>
-</function>
-
-<function name="gtk_popover_get_default_widget">
-<description>
-Gets the widget that should be set as the default while
-the popover is shown.
+See gtk_popover_set_autohide() for the
+implications of this.
 
 
 </description>
@@ -52895,15 +52941,14 @@ the popover is shown.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the default widget,
-or %NULL if there is none
+<return> #TRUE if @popover is modal
 </return>
 </function>
 
-<function name="gtk_popover_get_modal">
+<function name="gtk_popover_get_has_arrow">
 <description>
-Returns whether the popover is modal, see gtk_popover_set_modal to
-see the implications of this.
+Gets whether this popover is showing an arrow
+pointing at the widget that it is relative to.
 
 
 </description>
@@ -52913,7 +52958,7 @@ see the implications of this.
 </parameter_description>
 </parameter>
 </parameters>
-<return> #TRUE if @popover is modal
+<return> whether the popover has an arrow
 </return>
 </function>
 
@@ -52940,6 +52985,18 @@ widget coordinates.
 </return>
 </function>
 
+<function name="gtk_popover_get_popovers">
+<description>
+Returns the list of all existing #GtkPopover widgets.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The list of existing popovers.
+</return>
+</function>
+
 <function name="gtk_popover_get_position">
 <description>
 Returns the preferred position of @popover.
@@ -53032,22 +53089,6 @@ other kinds of widgets to initiate menu changes.
 <return></return>
 </function>
 
-<function name="gtk_popover_new">
-<description>
-Creates a new popover to point to @relative_to
-
-
-</description>
-<parameters>
-<parameter name="relative_to">
-<parameter_description> #GtkWidget the popover is related to
-</parameter_description>
-</parameter>
-</parameters>
-<return> a new #GtkPopover
-</return>
-</function>
-
 <function name="gtk_popover_new_from_model">
 <description>
 Creates a #GtkPopover and populates it according to
@@ -53109,33 +53150,13 @@ the popover without a transition, use gtk_widget_show().
 <return></return>
 </function>
 
-<function name="gtk_popover_set_constrain_to">
+<function name="gtk_popover_set_autohide">
 <description>
-Sets a constraint for positioning this popover.
-
-Note that not all platforms support placing popovers freely,
-and may already impose constraints.
-
-</description>
-<parameters>
-<parameter name="popover">
-<parameter_description> a #GtkPopover
-</parameter_description>
-</parameter>
-<parameter name="constraint">
-<parameter_description> the new constraint
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
+Sets whether @popover is modal.
 
-<function name="gtk_popover_set_default_widget">
-<description>
-Sets the widget that should be set as default widget while
-the popover is shown (see gtk_window_set_default()). #GtkPopover
-remembers the previous default widget and reestablishes it
-when the popover is dismissed.
+A modal popover will grab the keyboard focus on it when being
+displayed. Clicking outside the popover area or pressing Esc will
+dismiss the popover.
 
 </description>
 <parameters>
@@ -53143,20 +53164,18 @@ when the popover is dismissed.
 <parameter_description> a #GtkPopover
 </parameter_description>
 </parameter>
-<parameter name="widget">
-<parameter_description> the new default widget, or %NULL
+<parameter name="autohide">
+<parameter_description> #TRUE to dismiss the popover on outside clicks
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gtk_popover_set_modal">
+<function name="gtk_popover_set_has_arrow">
 <description>
-Sets whether @popover is modal, a modal popover will grab all input
-within the toplevel and grab the keyboard focus on it when being
-displayed. Clicking outside the popover area or pressing Esc will
-dismiss the popover and ungrab input.
+Sets whether this popover should draw an arrow
+pointing at the widget it is relative to.
 
 </description>
 <parameters>
@@ -53164,8 +53183,8 @@ dismiss the popover and ungrab input.
 <parameter_description> a #GtkPopover
 </parameter_description>
 </parameter>
-<parameter name="modal">
-<parameter_description> #TRUE to make popover claim all input within the toplevel
+<parameter name="has_arrow">
+<parameter_description> %TRUE to draw an arrow
 </parameter_description>
 </parameter>
 </parameters>
@@ -60194,14 +60213,9 @@ output values will be in the same range.
 <return></return>
 </function>
 
-<function name="gtk_root_get_focus">
+<function name="gtk_root_get_display">
 <description>
-Retrieves the current focused widget within the root.
-
-Note that this is the widget that would have the focus
-if the root is active; if the root is not focused then
-`gtk_widget_has_focus (widget)` will be %FALSE for the
-widget.
+Returns the display that this GtkRoot is on.
 
 
 </description>
@@ -60211,24 +60225,29 @@ widget.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the currently focused widget,
-or %NULL if there is none.
+<return> the display of @root
 </return>
 </function>
 
-<function name="gtk_root_get_for_surface">
+<function name="gtk_root_get_focus">
 <description>
-Finds the GtkRoot associated with the surface.
+Retrieves the current focused widget within the root.
+
+Note that this is the widget that would have the focus
+if the root is active; if the root is not focused then
+`gtk_widget_has_focus (widget)` will be %FALSE for the
+widget.
 
 
 </description>
 <parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
+<parameter name="self">
+<parameter_description> a #GtkRoot
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkRoot that is associated with @surface
+<return> the currently focused widget,
+or %NULL if there is none.
 </return>
 </function>
 
@@ -82744,7 +82763,7 @@ the widget may expand if some of its children do.
 <description>
 Translates the given @point in @widget's coordinates to coordinates
 relative to @target’s coodinate system. In order to perform this
-operation, both widgets must share a common ancestor.
+operation, both widgets must share a common root.
 
 
 </description>
@@ -83149,9 +83168,7 @@ but not that they have exactly the bounds the container assigned.
 Gets the first ancestor of @widget with type @widget_type. For example,
 `gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)` gets
 the first #GtkBox that’s an ancestor of @widget. No reference will be
-added to the returned widget; it should not be unreferenced. See note
-about checking for a toplevel #GtkWindow in the docs for
-gtk_widget_get_toplevel().
+added to the returned widget; it should not be unreferenced.
 
 Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor()
 considers @widget to be an ancestor of itself.
@@ -83456,23 +83473,6 @@ alignment.
 </return>
 </function>
 
-<function name="gtk_widget_get_has_surface">
-<description>
-Determines whether @widget has a #GdkSurface of its own. See
-gtk_widget_set_has_surface().
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @widget has a surface, %FALSE otherwise
-</return>
-</function>
-
 <function name="gtk_widget_get_has_tooltip">
 <description>
 Returns the current value of the has-tooltip property.  See
@@ -83713,6 +83713,27 @@ should not be modified or freed
 </return>
 </function>
 
+<function name="gtk_widget_get_native">
+<description>
+Returns the GtkNative widget that contains @widget,
+or %NULL if the widget is not contained inside a
+widget tree with a native ancestor.
+
+#GtkNative widgets will return themselves here.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GtkNative
+widget of @widget, or %NULL
+</return>
+</function>
+
 <function name="gtk_widget_get_next_sibling">
 <description>
 
@@ -84110,22 +84131,6 @@ gtk_widget_set_support_multidevice() for more information.
 </return>
 </function>
 
-<function name="gtk_widget_get_surface">
-<description>
-Returns the widget’s surface if it is realized, %NULL otherwise
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-</parameters>
-<return> @widget’s surface.
-</return>
-</function>
-
 <function name="gtk_widget_get_template_child">
 <description>
 Fetch an object build from the template XML for @widget_type in this @widget instance.
@@ -84210,51 +84215,6 @@ using gtk_widget_set_tooltip_window().
 </return>
 </function>
 
-<function name="gtk_widget_get_toplevel">
-<description>
-This function returns the topmost widget in the container hierarchy
-@widget is a part of. If @widget has no parent widgets, it will be
-returned as the topmost widget. No reference will be added to the
-returned widget; it should not be unreferenced.
-
-Note the difference in behavior vs. gtk_widget_get_ancestor();
-`gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)`
-would return
-%NULL if @widget wasn’t inside a toplevel window, and if the
-window was inside a #GtkWindow-derived widget which was in turn
-inside the toplevel #GtkWindow.
-
-To reliably find the toplevel #GtkWindow, use
-gtk_widget_get_toplevel() and call GTK_IS_WINDOW()
-on the result. For instance, to get the title of a widget's toplevel
-window, one might use:
-|[&lt;!-- language=&quot;C&quot; --&gt;
-static const char *
-get_widget_toplevel_title (GtkWidget *widget)
-{
-GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
-if (GTK_IS_WINDOW (toplevel))
-{
-return gtk_window_get_title (GTK_WINDOW (toplevel));
-}
-
-return NULL;
-}
-]|
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-</parameters>
-<return> the topmost ancestor of @widget, or @widget itself
-if there’s no ancestor.
-</return>
-</function>
-
 <function name="gtk_widget_get_valign">
 <description>
 Gets the value of the #GtkWidget:valign property.
@@ -84687,26 +84647,6 @@ it is sensitive itself and also its parent widget is sensitive
 </return>
 </function>
 
-<function name="gtk_widget_is_toplevel">
-<description>
-Determines whether @widget is a toplevel widget.
-
-Currently only #GtkWindows are toplevel widgets.
-Toplevel widgets have no parent widget and implement
-the #GtkRoot interface.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @widget is a toplevel, %FALSE otherwise
-</return>
-</function>
-
 <function name="gtk_widget_is_visible">
 <description>
 Determines whether the widget and all its parents are marked as
@@ -85912,31 +85852,6 @@ called after the widget is realized automatically, such as
 <return></return>
 </function>
 
-<function name="gtk_widget_register_surface">
-<description>
-Registers a #GdkSurface with the widget and sets it up so that
-the widget receives events for it. Call gtk_widget_unregister_surface()
-when destroying the surface.
-
-Before 3.8 you needed to call gdk_surface_set_user_data() directly to set
-this up. This is now deprecated and you should use gtk_widget_register_surface()
-instead. Old code will keep working as is, although some new features like
-transparency might not work perfectly.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_remove_accelerator">
 <description>
 Removes an accelerator from @widget, previously installed with
@@ -86380,33 +86295,6 @@ See the #GtkWidget:halign property.
 <return></return>
 </function>
 
-<function name="gtk_widget_set_has_surface">
-<description>
-Specifies whether @widget has a #GdkSurface of its own. Note that
-all realized widgets have a non-%NULL “window” pointer
-(gtk_widget_get_surface() never returns a %NULL surface when a widget
-is realized), but for many of them it’s actually the #GdkSurface of
-one of its parent widgets. Widgets that do not create a %window for
-themselves in #GtkWidget::realize must announce this by
-calling this function with @has_surface = %FALSE.
-
-This function should only be called by widget implementations,
-and they should call it in their init() function.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="has_surface">
-<parameter_description> whether or not @widget has a surface.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_set_has_tooltip">
 <description>
 Sets the has-tooltip property on @widget to @has_tooltip.  See
@@ -86845,34 +86733,6 @@ gdk_surface_set_support_multidevice() will have to be called manually on them.
 <return></return>
 </function>
 
-<function name="gtk_widget_set_surface">
-<description>
-Sets a widget’s surface. This function should only be used in a
-widget’s #GtkWidget::realize implementation. The %surface passed is
-usually either new surface created with gdk_surface_new(), or the
-surface of its parent widget as returned by
-gtk_widget_get_parent_surface().
-
-Widgets must indicate whether they will create their own #GdkSurface
-by calling gtk_widget_set_has_surface(). This is usually done in the
-widget’s init() function.
-
-Note that this function does not add any reference to @surface.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_set_tooltip_markup">
 <description>
 Sets @markup as the contents of the tooltip, which is marked up with
@@ -87084,6 +86944,8 @@ the @snapshot the widget received.
 gtk_widget_snapshot_child() takes care of translating the origin of
 @snapshot, and deciding whether the child needs to be snapshot.
 
+This function does nothing for children that implement #GtkNative.
+
 </description>
 <parameters>
 <parameter name="widget">
@@ -87207,26 +87069,6 @@ associated with the widget, such as @widget-&gt;surface).
 <return></return>
 </function>
 
-<function name="gtk_widget_unregister_surface">
-<description>
-Unregisters a #GdkSurface from the widget that was previously set up with
-gtk_widget_register_surface(). You need to call this when the surface is
-no longer used by the widget, such as when you destroy it.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_unset_state_flags">
 <description>
 This function is for use in widget implementations. Turns off flag
@@ -89010,26 +88852,6 @@ will then disallow lowering the dialog below the parent.
 <return></return>
 </function>
 
-<function name="gtk_window_set_position">
-<description>
-Sets a position constraint for this window. If the old or new
-constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause
-the window to be repositioned to satisfy the new constraint. 
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow.
-</parameter_description>
-</parameter>
-<parameter name="position">
-<parameter_description> a position constraint.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_window_set_resizable">
 <description>
 Sets whether the user can resize a window. Windows are user resizable
@@ -89174,7 +88996,6 @@ This function should be called before the window becomes visible.
 gtk_dialog_new_with_buttons() and other convenience functions in GTK+
 will sometimes call gtk_window_set_type_hint() on your behalf.
 
-
 </description>
 <parameters>
 <parameter name="window">
diff --git a/gtk/src/gtk_enums.defs b/gtk/src/gtk_enums.defs
index 880c1061..c9688863 100644
--- a/gtk/src/gtk_enums.defs
+++ b/gtk/src/gtk_enums.defs
@@ -1346,6 +1346,22 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GTK_LIMIT_NONE,
+;;   GTK_LIMIT_SAME_NATIVE
+;; } GtkPropagationLimit;
+
+(define-enum-extended PropagationLimit
+  (in-module "Gtk")
+  (c-name "GtkPropagationLimit")
+  (values
+    '("none" "GTK_LIMIT_NONE" "0")
+    '("same-native" "GTK_LIMIT_SAME_NATIVE" "1")
+  )
+)
+
 ;; Original typedef:
 ;; typedef enum
 ;; {
@@ -1727,26 +1743,6 @@
   )
 )
 
-;; From gtkmenu.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GTK_ARROWS_BOTH,
-;;   GTK_ARROWS_START,
-;;   GTK_ARROWS_END
-;; } GtkArrowPlacement;
-
-(define-enum-extended ArrowPlacement
-  (in-module "Gtk")
-  (c-name "GtkArrowPlacement")
-  (values
-    '("both" "GTK_ARROWS_BOTH" "0")
-    '("start" "GTK_ARROWS_START" "1")
-    '("end" "GTK_ARROWS_END" "2")
-  )
-)
-
 ;; From gtkmenutrackeritem.h
 
 ;; Original typedef:
@@ -1848,41 +1844,6 @@
   )
 )
 
-;; From gtkprintbackend.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   /* TODO: add specific errors */
-;;   GTK_PRINT_BACKEND_ERROR_GENERIC
-;; } GtkPrintBackendError;
-
-(define-enum-extended PrintBackendError
-  (in-module "Gtk")
-  (c-name "GtkPrintBackendError")
-  (values
-    '("generic" "GTK_PRINT_BACKEND_ERROR_GENERIC" "0")
-  )
-)
-
-;; Original typedef:
-;; typedef enum 
-;; {
-;;   GTK_PRINT_BACKEND_STATUS_UNKNOWN,
-;;   GTK_PRINT_BACKEND_STATUS_OK,
-;;   GTK_PRINT_BACKEND_STATUS_UNAVAILABLE
-;; } GtkPrintBackendStatus;
-
-(define-enum-extended PrintBackendStatus
-  (in-module "Gtk")
-  (c-name "GtkPrintBackendStatus")
-  (values
-    '("unknown" "GTK_PRINT_BACKEND_STATUS_UNKNOWN" "0")
-    '("ok" "GTK_PRINT_BACKEND_STATUS_OK" "1")
-    '("unavailable" "GTK_PRINT_BACKEND_STATUS_UNAVAILABLE" "2")
-  )
-)
-
 ;; From gtkprinter.h
 
 ;; Original typedef:
@@ -2481,28 +2442,6 @@
   )
 )
 
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GTK_WIN_POS_NONE,
-;;   GTK_WIN_POS_CENTER,
-;;   GTK_WIN_POS_MOUSE,
-;;   GTK_WIN_POS_CENTER_ALWAYS,
-;;   GTK_WIN_POS_CENTER_ON_PARENT
-;; } GtkWindowPosition;
-
-(define-enum-extended WindowPosition
-  (in-module "Gtk")
-  (c-name "GtkWindowPosition")
-  (values
-    '("none" "GTK_WIN_POS_NONE" "0")
-    '("center" "GTK_WIN_POS_CENTER" "1")
-    '("mouse" "GTK_WIN_POS_MOUSE" "2")
-    '("center-always" "GTK_WIN_POS_CENTER_ALWAYS" "3")
-    '("center-on-parent" "GTK_WIN_POS_CENTER_ON_PARENT" "4")
-  )
-)
-
 ;; From gtkcssenums.h
 
 ;; Original typedef:
diff --git a/gtk/src/gtk_extra_objects.defs b/gtk/src/gtk_extra_objects.defs
index bbca6675..f356a5e5 100644
--- a/gtk/src/gtk_extra_objects.defs
+++ b/gtk/src/gtk_extra_objects.defs
@@ -6,6 +6,18 @@
 ; C function names that are mentioned in documentation text.
 ; (DocsParser.pm:substitute_function(), which uses GtkDefs.pm:lookup_object().)
 
+(define-object AboutDialog
+  (in-module "Gtk")
+  (c-name "GtkAboutDialog")
+  (gtype-id "GTK_TYPE_ABOUT_DIALOG")
+)
+
+(define-object AccelLabel
+  (in-module "Gtk")
+  (c-name "GtkAccelLabel")
+  (gtype-id "GTK_TYPE_ACCEL_LABEL")
+)
+
 (define-object Actionable
   (in-module "Gtk")
   (c-name "GtkActionable")
@@ -24,12 +36,42 @@
   (gtype-id "GTK_TYPE_APP_CHOOSER")
 )
 
+(define-object AppChooserButton
+  (in-module "Gtk")
+  (c-name "GtkAppChooserButton")
+  (gtype-id "GTK_TYPE_APP_CHOOSER_BUTTON")
+)
+
+(define-object AppChooserWidget
+  (in-module "Gtk")
+  (c-name "GtkAppChooserWidget")
+  (gtype-id "GTK_TYPE_APP_CHOOSER_WIDGET")
+)
+
+(define-object Assistant
+  (in-module "Gtk")
+  (c-name "GtkAssistant")
+  (gtype-id "GTK_TYPE_ASSISTANT")
+)
+
 (define-object BoxLayout
   (in-module "Gtk")
   (c-name "GtkBoxLayout")
   (gtype-id "GTK_TYPE_BOX_LAYOUT")
 )
 
+(define-object Calendar
+  (in-module "Gtk")
+  (c-name "GtkCalendar")
+  (gtype-id "GTK_TYPE_CALENDAR")
+)
+
+(define-object CellRendererToggle
+  (in-module "Gtk")
+  (c-name "GtkCellRendererToggle")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_TOGGLE")
+)
+
 (define-object CenterBox
   (in-module "Gtk")
   (c-name "GtkCenterBox")
@@ -42,6 +84,12 @@
   (gtype-id "GTK_TYPE_COLOR_CHOOSER")
 )
 
+(define-object ComboBoxText
+  (in-module "Gtk")
+  (c-name "GtkComboBoxText")
+  (gtype-id "GTK_TYPE_COMBO_BOX_TEXT")
+)
+
 (define-object CssProvider
   (in-module "Gtk")
   (c-name "GtkCssProvider")
@@ -60,6 +108,12 @@
   (gtype-id "GTK_TYPE_EDITABLE")
 )
 
+(define-object EntryCompletion
+  (in-module "Gtk")
+  (c-name "GtkEntryCompletion")
+  (gtype-id "GTK_TYPE_ENTRY_COMPLETION")
+)
+
 (define-object EventController
   (in-module "Gtk")
   (parent "GObject")
@@ -73,6 +127,12 @@
   (gtype-id "GTK_TYPE_EVENT_CONTROLLER_KEY")
 )
 
+(define-object Expander
+  (in-module "Gtk")
+  (c-name "GtkExpander")
+  (gtype-id "GTK_TYPE_EXPANDER")
+)
+
 (define-object FileChooser
   (in-module "Gtk")
   (c-name "GtkFileChooser")
@@ -85,6 +145,12 @@
   (gtype-id "GTK_TYPE_FILE_FILTER")
 )
 
+(define-object FlowBox
+  (in-module "Gtk")
+  (c-name "GtkFlowBox")
+  (gtype-id "GTK_TYPE_FLOW_BOX")
+)
+
 (define-object Gesture
   (in-module "Gtk")
   (parent "GtkEventController")
@@ -92,6 +158,13 @@
   (gtype-id "GTK_TYPE_GESTURE")
 )
 
+(define-object GestureClick
+  (in-module "Gtk")
+  (parent "GtkGestureSingle")
+  (c-name "GtkGestureClick")
+  (gtype-id "GTK_TYPE_GESTURE_CLICK")
+)
+
 (define-object GestureRotate
   (in-module "Gtk")
   (parent "GtkGesture")
@@ -106,13 +179,6 @@
   (gtype-id "GTK_TYPE_GESTURE_SINGLE")
 )
 
-(define-object GestureMultiPress
-  (in-module "Gtk")
-  (parent "GtkGestureSingle")
-  (c-name "GtkGestureMultiPress")
-  (gtype-id "GTK_TYPE_GESTURE_MULTI_PRESS")
-)
-
 (define-object GestureLongPress
   (in-module "Gtk")
   (parent "GtkGestureSingle")
@@ -154,24 +220,90 @@
   (gtype-id "GTK_TYPE_GRID_LAYOUT")
 )
 
+(define-object HeaderBar
+  (in-module "Gtk")
+  (c-name "GtkHeaderBar")
+  (gtype-id "GTK_TYPE_HEADER_BAR")
+)
+
 (define-object IconInfo
   (in-module "Gtk")
   (c-name "GtkIconInfo")
   (gtype-id "GTK_TYPE_ICON_INFO")
 )
 
+(define-object IconTheme
+  (in-module "Gtk")
+  (c-name "GtkIconTheme")
+  (gtype-id "GTK_TYPE_ICON_THEME")
+)
+
+(define-object IconView
+  (in-module "Gtk")
+  (c-name "GtkIconView")
+  (gtype-id "GTK_TYPE_ICON_VIEW")
+)
+
+(define-object Image
+  (in-module "Gtk")
+  (c-name "GtkImage")
+  (gtype-id "GTK_TYPE_IMAGE")
+)
+
+(define-object InfoBar
+  (in-module "Gtk")
+  (c-name "GtkInfoBar")
+  (gtype-id "GTK_TYPE_INFO_BAR")
+)
+
+(define-object Label
+  (in-module "Gtk")
+  (c-name "GtkLabel")
+  (gtype-id "GTK_TYPE_LABEL")
+)
+
+(define-object LeveöBar
+  (in-module "Gtk")
+  (c-name "GtkLevelBar")
+  (gtype-id "GTK_TYPE_LEVEL_BAR")
+)
+
 (define-object LinkButton
   (in-module "Gtk")
   (c-name "GtkLinkButton")
   (gtype-id "GTK_TYPE_LINK_BUTTON")
 )
 
+(define-object ListBox
+  (in-module "Gtk")
+  (c-name "GtkListBox")
+  (gtype-id "GTK_TYPE_LIST_BOX")
+)
+
 (define-object MediaFile
   (in-module "Gtk")
   (c-name "GtkMediaFile")
   (gtype-id "GTK_TYPE_MEDIA_FILE")
 )
 
+(define-object Menu
+  (in-module "Gtk")
+  (c-name "GtkMenu")
+  (gtype-id "GTK_TYPE_MENU")
+)
+
+(define-object MenuButton
+  (in-module "Gtk")
+  (c-name "GtkMenuButton")
+  (gtype-id "GTK_TYPE_MENU_BUTTON")
+)
+
+(define-object MenuToolButton
+  (in-module "Gtk")
+  (c-name "GtkMenuToolButton")
+  (gtype-id "GTK_TYPE_MENU_TOOL_BUTTON")
+)
+
 (define-object MessageDialog
   (in-module "Gtk")
   (c-name "GtkMessageDialog")
@@ -190,6 +322,12 @@
   (gtype-id "GTK_TYPE_NATIVE_DIALOG")
 )
 
+(define-object Notebook
+  (in-module "Gtk")
+  (c-name "GtkNotebook")
+  (gtype-id "GTK_TYPE_NOTEBOOK")
+)
+
 (define-object PadController
   (in-module "Gtk")
   (c-name "GtkPadController")
@@ -220,12 +358,41 @@
   (gtype-id "GTK_TYPE_PRINT_CONTEXT")
 )
 
+(define-object Printer
+  (in-module "Gtk")
+  (c-name "GtkPrinter")
+  (gtype-id "GTK_TYPE_PRINTER")
+)
+
+(define-object PrintJob
+  (in-module "Gtk")
+  (c-name "GtkPrintJob")
+  (gtype-id "GTK_TYPE_PRINT_JOB")
+)
+
 (define-object PrintSettings
   (in-module "Gtk")
   (c-name "GtkPrintSettings")
   (gtype-id "GTK_TYPE_PRINT_SETTINGS")
 )
 
+(define-object ProgressBar
+  (in-module "Gtk")
+  (c-name "GtkProgressBar")
+  (gtype-id "GTK_TYPE_PROGRESS_BAR")
+)
+
+(define-object RadioButton
+  (in-module "Gtk")
+  (c-name "GtkRadioButton")
+  (gtype-id "GTK_TYPE_RADIO_BUTTON")
+)
+
+(define-object RadioMenuItem
+  (in-module "Gtk")
+  (c-name "GtkRadioMenuItem")
+  (gtype-id "GTK_TYPE_RADIO_MENU_ITEM")
+)
 
 (define-object RecentFilter
   (in-module "Gtk")
@@ -245,6 +412,24 @@
   (gtype-id "GTK_TYPE_RECENT_INFO")
 )
 
+(define-object Revealer
+  (in-module "Gtk")
+  (c-name "GtkRevealer")
+  (gtype-id "GTK_TYPE_REVEALER")
+)
+
+(define-object ScrolledWindow
+  (in-module "Gtk")
+  (c-name "GtkScrolledWindow")
+  (gtype-id "GTK_TYPE_SCROLLED_WINDOW")
+)
+
+(define-object SearchBar
+  (in-module "Gtk")
+  (c-name "GtkSearchBar")
+  (gtype-id "GTK_TYPE_SEARCH_BAR")
+)
+
 (define-object SelectionData
   (in-module "Gtk")
   (c-name "GtkSelectionData")
@@ -257,6 +442,12 @@
   (gtype-id "GTK_TYPE_SELECTION_MODEL")
 )
 
+(define-object SeparatorToolItem
+  (in-module "Gtk")
+  (c-name "GtkSeparatorToolItem")
+  (gtype-id "GTK_TYPE_SEPARATOR_TOOL_ITEM")
+)
+
 (define-object SingleSelection
   (in-module "Gtk")
   (c-name "GtkSingleSelection")
@@ -275,6 +466,36 @@
   (gtype-id "GTK_TYPE_SNAPSHOT")
 )
 
+(define-object SpinButton
+  (in-module "Gtk")
+  (c-name "GtkSpinButton")
+  (gtype-id "GTK_TYPE_SPIN_BUTTON")
+)
+
+(define-object Stack
+  (in-module "Gtk")
+  (c-name "GtkStack")
+  (gtype-id "GTK_TYPE_STACK")
+)
+
+(define-object StackSidebar
+  (in-module "Gtk")
+  (c-name "GtkStackSidebar")
+  (gtype-id "GTK_TYPE_STACK_SIDEBAR")
+)
+
+(define-object StackSwitcher
+  (in-module "Gtk")
+  (c-name "GtkStackSwitcher")
+  (gtype-id "GTK_TYPE_STACK_SWITCHER")
+)
+
+(define-object Switch
+  (in-module "Gtk")
+  (c-name "GtkSwitch")
+  (gtype-id "GTK_TYPE_SWITCH")
+)
+
 (define-object TargetList
   (in-module "Gtk")
   (c-name "GtkTargetList")
@@ -293,6 +514,18 @@
   (gtype-id "GTK_TYPE_TEXT_ITER")
 )
 
+(define-object TextTagTable
+  (in-module "Gtk")
+  (c-name "GtkTextTagTable")
+  (gtype-id "GTK_TYPE_TEXT_TAG_TABLE")
+)
+
+(define-object Toolbar
+  (in-module "Gtk")
+  (c-name "GtkToolbar")
+  (gtype-id "GTK_TYPE_TOOLBAR")
+)
+
 (define-object Tooltip
   (in-module "Gtk")
   (c-name "GtkTooltip")
@@ -305,12 +538,36 @@
   (gtype-id "GTK_TYPE_TREE_ROW_REFERENCE")
 )
 
+(define-object TreeSelection
+  (in-module "Gtk")
+  (c-name "GtkTreeSelection")
+  (gtype-id "GTK_TYPE_TREE_SELECTION")
+)
+
+(define-object TreeView
+  (in-module "Gtk")
+  (c-name "GtkTreeView")
+  (gtype-id "GTK_TYPE_TREE_VIEW")
+)
+
+(define-object TreeViewColumn
+  (in-module "Gtk")
+  (c-name "GtkTreeViewColumn")
+  (gtype-id "GTK_TYPE_TREE_VIEW_COLUMN")
+)
+
 (define-object Video
   (in-module "Gtk")
   (c-name "GtkVideo")
   (gtype-id "GTK_TYPE_VIDEO")
 )
 
+(define-object Viewport
+  (in-module "Gtk")
+  (c-name "GtkViewport")
+  (gtype-id "GTK_TYPE_VIEWPORT")
+)
+
 (define-object WidgetPath
   (in-module "Gtk")
   (c-name "GtkWidgetPath")
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index a179fd51..a503e5f4 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -48,13 +48,6 @@
   (gtype-id "GTK_TYPE_CELL_AREA")
 )
 
-(define-object CellAreaBox
-  (in-module "Gtk")
-  (parent "GtkCellArea")
-  (c-name "GtkCellAreaBox")
-  (gtype-id "GTK_TYPE_CELL_AREA_BOX")
-)
-
 (define-object CellAreaContext
   (in-module "Gtk")
   (parent "GObject")
@@ -81,27 +74,6 @@
   (gtype-id "GTK_TYPE_CELL_RENDERER")
 )
 
-(define-object CellRendererPixbuf
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererPixbuf")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_PIXBUF")
-)
-
-(define-object CellRendererProgress
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererProgress")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_PROGRESS")
-)
-
-(define-object CellRendererSpinner
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererSpinner")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_SPINNER")
-)
-
 (define-object CellRendererText
   (in-module "Gtk")
   (parent "GtkCellRenderer")
@@ -109,34 +81,6 @@
   (gtype-id "GTK_TYPE_CELL_RENDERER_TEXT")
 )
 
-(define-object CellRendererSpin
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererSpin")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_SPIN")
-)
-
-(define-object CellRendererCombo
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererCombo")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_COMBO")
-)
-
-(define-object CellRendererAccel
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererAccel")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_ACCEL")
-)
-
-(define-object CellRendererToggle
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererToggle")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_TOGGLE")
-)
-
 (define-object EntryBuffer
   (in-module "Gtk")
   (parent "GObject")
@@ -144,13 +88,6 @@
   (gtype-id "GTK_TYPE_ENTRY_BUFFER")
 )
 
-(define-object EntryCompletion
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkEntryCompletion")
-  (gtype-id "GTK_TYPE_ENTRY_COMPLETION")
-)
-
 (define-object FileChooserEmbed
   (in-module "Gtk")
   (c-name "GtkFileChooserEmbed")
@@ -191,13 +128,6 @@
   (gtype-id "GTK_TYPE_IM_MULTICONTEXT")
 )
 
-(define-object IconTheme
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkIconTheme")
-  (gtype-id "GTK_TYPE_ICON_THEME")
-)
-
 (define-object ListStore
   (in-module "Gtk")
   (parent "GObject")
@@ -218,20 +148,6 @@
   (gtype-id "GTK_TYPE_ORIENTABLE")
 )
 
-(define-object PrintBackend
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkPrintBackend")
-  (gtype-id "GTK_TYPE_PRINT_BACKEND")
-)
-
-(define-object PrintJob
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkPrintJob")
-  (gtype-id "GTK_TYPE_PRINT_JOB")
-)
-
 (define-object PrintOperation
   (in-module "Gtk")
   (parent "GObject")
@@ -245,13 +161,6 @@
   (gtype-id "GTK_TYPE_PRINT_OPERATION_PREVIEW")
 )
 
-(define-object Printer
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkPrinter")
-  (gtype-id "GTK_TYPE_PRINTER")
-)
-
 (define-object PrinterOption
   (in-module "Gtk")
   (parent "GObject")
@@ -329,13 +238,6 @@
   (gtype-id "GTK_TYPE_TEXT_TAG")
 )
 
-(define-object TextTagTable
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkTextTagTable")
-  (gtype-id "GTK_TYPE_TEXT_TAG_TABLE")
-)
-
 (define-object ToolShell
   (in-module "Gtk")
   (c-name "GtkToolShell")
@@ -354,6 +256,13 @@
   (gtype-id "GTK_TYPE_TREE_DRAG_SOURCE")
 )
 
+(define-object TreeMenu
+  (in-module "Gtk")
+  (parent "GtkMenu")
+  (c-name "GtkTreeMenu")
+  (gtype-id "GTK_TYPE_TREE_MENU")
+)
+
 (define-object TreeModel
   (in-module "Gtk")
   (c-name "GtkTreeModel")
@@ -374,13 +283,6 @@
   (gtype-id "GTK_TYPE_TREE_MODEL_SORT")
 )
 
-(define-object TreeSelection
-  (in-module "Gtk")
-  (parent "GObject")
-  (c-name "GtkTreeSelection")
-  (gtype-id "GTK_TYPE_TREE_SELECTION")
-)
-
 (define-object TreeSortable
   (in-module "Gtk")
   (c-name "GtkTreeSortable")
@@ -394,13 +296,6 @@
   (gtype-id "GTK_TYPE_TREE_STORE")
 )
 
-(define-object TreeViewColumn
-  (in-module "Gtk")
-  (parent "GInitiallyUnowned")
-  (c-name "GtkTreeViewColumn")
-  (gtype-id "GTK_TYPE_TREE_VIEW_COLUMN")
-)
-
 (define-object Widget
   (in-module "Gtk")
   (parent "GInitiallyUnowned")
@@ -408,55 +303,6 @@
   (gtype-id "GTK_TYPE_WIDGET")
 )
 
-(define-object Switch
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkSwitch")
-  (gtype-id "GTK_TYPE_SWITCH")
-)
-
-(define-object Statusbar
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkStatusbar")
-  (gtype-id "GTK_TYPE_STATUSBAR")
-)
-
-(define-object Spinner
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkSpinner")
-  (gtype-id "GTK_TYPE_SPINNER")
-)
-
-(define-object SpinButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkSpinButton")
-  (gtype-id "GTK_TYPE_SPIN_BUTTON")
-)
-
-(define-object Separator
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkSeparator")
-  (gtype-id "GTK_TYPE_SEPARATOR")
-)
-
-(define-object SearchEntry
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkSearchEntry")
-  (gtype-id "GTK_TYPE_SEARCH_ENTRY")
-)
-
-(define-object Scrollbar
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkScrollbar")
-  (gtype-id "GTK_TYPE_SCROLLBAR")
-)
-
 (define-object Range
   (in-module "Gtk")
   (parent "GtkWidget")
@@ -471,41 +317,6 @@
   (gtype-id "GTK_TYPE_SCALE")
 )
 
-(define-object ProgressBar
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkProgressBar")
-  (gtype-id "GTK_TYPE_PROGRESS_BAR")
-)
-
-(define-object MenuButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkMenuButton")
-  (gtype-id "GTK_TYPE_MENU_BUTTON")
-)
-
-(define-object LevelBar
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkLevelBar")
-  (gtype-id "GTK_TYPE_LEVEL_BAR")
-)
-
-(define-object Label
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkLabel")
-  (gtype-id "GTK_TYPE_LABEL")
-)
-
-(define-object Image
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkImage")
-  (gtype-id "GTK_TYPE_IMAGE")
-)
-
 (define-object GLArea
   (in-module "Gtk")
   (parent "GtkWidget")
@@ -513,34 +324,6 @@
   (gtype-id "GTK_TYPE_GL_AREA")
 )
 
-(define-object FontChooserWidget
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkFontChooserWidget")
-  (gtype-id "GTK_TYPE_FONT_CHOOSER_WIDGET")
-)
-
-(define-object FontButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkFontButton")
-  (gtype-id "GTK_TYPE_FONT_BUTTON")
-)
-
-(define-object FileChooserWidget
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkFileChooserWidget")
-  (gtype-id "GTK_TYPE_FILE_CHOOSER_WIDGET")
-)
-
-(define-object FileChooserButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkFileChooserButton")
-  (gtype-id "GTK_TYPE_FILE_CHOOSER_BUTTON")
-)
-
 (define-object Entry
   (in-module "Gtk")
   (parent "GtkWidget")
@@ -562,20 +345,6 @@
   (gtype-id "GTK_TYPE_CONTAINER")
 )
 
-(define-object TreeView
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkTreeView")
-  (gtype-id "GTK_TYPE_TREE_VIEW")
-)
-
-(define-object Toolbar
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkToolbar")
-  (gtype-id "GTK_TYPE_TOOLBAR")
-)
-
 (define-object TextView
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -583,13 +352,6 @@
   (gtype-id "GTK_TYPE_TEXT_VIEW")
 )
 
-(define-object Stack
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkStack")
-  (gtype-id "GTK_TYPE_STACK")
-)
-
 (define-object PathBar
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -597,20 +359,6 @@
   (gtype-id "GTK_TYPE_PATH_BAR")
 )
 
-(define-object Paned
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkPaned")
-  (gtype-id "GTK_TYPE_PANED")
-)
-
-(define-object Notebook
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkNotebook")
-  (gtype-id "GTK_TYPE_NOTEBOOK")
-)
-
 (define-object MenuShell
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -618,48 +366,6 @@
   (gtype-id "GTK_TYPE_MENU_SHELL")
 )
 
-(define-object Menu
-  (in-module "Gtk")
-  (parent "GtkMenuShell")
-  (c-name "GtkMenu")
-  (gtype-id "GTK_TYPE_MENU")
-)
-
-(define-object TreeMenu
-  (in-module "Gtk")
-  (parent "GtkMenu")
-  (c-name "GtkTreeMenu")
-  (gtype-id "GTK_TYPE_TREE_MENU")
-)
-
-(define-object MenuBar
-  (in-module "Gtk")
-  (parent "GtkMenuShell")
-  (c-name "GtkMenuBar")
-  (gtype-id "GTK_TYPE_MENU_BAR")
-)
-
-(define-object ListBox
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkListBox")
-  (gtype-id "GTK_TYPE_LIST_BOX")
-)
-
-(define-object IconView
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkIconView")
-  (gtype-id "GTK_TYPE_ICON_VIEW")
-)
-
-(define-object HeaderBar
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkHeaderBar")
-  (gtype-id "GTK_TYPE_HEADER_BAR")
-)
-
 (define-object Grid
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -667,13 +373,6 @@
   (gtype-id "GTK_TYPE_GRID")
 )
 
-(define-object FlowBox
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkFlowBox")
-  (gtype-id "GTK_TYPE_FLOW_BOX")
-)
-
 (define-object Fixed
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -681,20 +380,6 @@
   (gtype-id "GTK_TYPE_FIXED")
 )
 
-(define-object Expander
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkExpander")
-  (gtype-id "GTK_TYPE_EXPANDER")
-)
-
-(define-object ActionBar
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkActionBar")
-  (gtype-id "GTK_TYPE_ACTION_BAR")
-)
-
 (define-object Bin
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -702,13 +387,6 @@
   (gtype-id "GTK_TYPE_BIN")
 )
 
-(define-object Viewport
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkViewport")
-  (gtype-id "GTK_TYPE_VIEWPORT")
-)
-
 (define-object ToolItem
   (in-module "Gtk")
   (parent "GtkBin")
@@ -716,13 +394,6 @@
   (gtype-id "GTK_TYPE_TOOL_ITEM")
 )
 
-(define-object SeparatorToolItem
-  (in-module "Gtk")
-  (parent "GtkToolItem")
-  (c-name "GtkSeparatorToolItem")
-  (gtype-id "GTK_TYPE_SEPARATOR_TOOL_ITEM")
-)
-
 (define-object ToolButton
   (in-module "Gtk")
   (parent "GtkToolItem")
@@ -737,48 +408,6 @@
   (gtype-id "GTK_TYPE_TOGGLE_TOOL_BUTTON")
 )
 
-(define-object RadioToolButton
-  (in-module "Gtk")
-  (parent "GtkToggleToolButton")
-  (c-name "GtkRadioToolButton")
-  (gtype-id "GTK_TYPE_RADIO_TOOL_BUTTON")
-)
-
-(define-object MenuToolButton
-  (in-module "Gtk")
-  (parent "GtkToolButton")
-  (c-name "GtkMenuToolButton")
-  (gtype-id "GTK_TYPE_MENU_TOOL_BUTTON")
-)
-
-(define-object StackSidebar
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkStackSidebar")
-  (gtype-id "GTK_TYPE_STACK_SIDEBAR")
-)
-
-(define-object SearchBar
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkSearchBar")
-  (gtype-id "GTK_TYPE_SEARCH_BAR")
-)
-
-(define-object ScrolledWindow
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkScrolledWindow")
-  (gtype-id "GTK_TYPE_SCROLLED_WINDOW")
-)
-
-(define-object Revealer
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkRevealer")
-  (gtype-id "GTK_TYPE_REVEALER")
-)
-
 (define-object Popover
   (in-module "Gtk")
   (parent "GtkBin")
@@ -786,13 +415,6 @@
   (gtype-id "GTK_TYPE_POPOVER")
 )
 
-(define-object Overlay
-  (in-module "Gtk")
-  (parent "GtkBin")
-  (c-name "GtkOverlay")
-  (gtype-id "GTK_TYPE_OVERLAY")
-)
-
 (define-object MenuItem
   (in-module "Gtk")
   (parent "GtkBin")
@@ -800,13 +422,6 @@
   (gtype-id "GTK_TYPE_MENU_ITEM")
 )
 
-(define-object SeparatorMenuItem
-  (in-module "Gtk")
-  (parent "GtkMenuItem")
-  (c-name "GtkSeparatorMenuItem")
-  (gtype-id "GTK_TYPE_SEPARATOR_MENU_ITEM")
-)
-
 (define-object CheckMenuItem
   (in-module "Gtk")
   (parent "GtkMenuItem")
@@ -814,13 +429,6 @@
   (gtype-id "GTK_TYPE_CHECK_MENU_ITEM")
 )
 
-(define-object RadioMenuItem
-  (in-module "Gtk")
-  (parent "GtkCheckMenuItem")
-  (c-name "GtkRadioMenuItem")
-  (gtype-id "GTK_TYPE_RADIO_MENU_ITEM")
-)
-
 (define-object ListBoxRow
   (in-module "Gtk")
   (parent "GtkBin")
@@ -835,13 +443,6 @@
   (gtype-id "GTK_TYPE_FRAME")
 )
 
-(define-object AspectFrame
-  (in-module "Gtk")
-  (parent "GtkFrame")
-  (c-name "GtkAspectFrame")
-  (gtype-id "GTK_TYPE_ASPECT_FRAME")
-)
-
 (define-object FlowBoxChild
   (in-module "Gtk")
   (parent "GtkBin")
@@ -870,13 +471,6 @@
   (gtype-id "GTK_TYPE_CHECK_BUTTON")
 )
 
-(define-object RadioButton
-  (in-module "Gtk")
-  (parent "GtkCheckButton")
-  (c-name "GtkRadioButton")
-  (gtype-id "GTK_TYPE_RADIO_BUTTON")
-)
-
 (define-object ScaleButton
   (in-module "Gtk")
   (parent "GtkButton")
@@ -891,13 +485,6 @@
   (gtype-id "GTK_TYPE_COMBO_BOX")
 )
 
-(define-object ComboBoxText
-  (in-module "Gtk")
-  (parent "GtkComboBox")
-  (c-name "GtkComboBoxText")
-  (gtype-id "GTK_TYPE_COMBO_BOX_TEXT")
-)
-
 (define-object Box
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -905,13 +492,6 @@
   (gtype-id "GTK_TYPE_BOX")
 )
 
-(define-object StackSwitcher
-  (in-module "Gtk")
-  (parent "GtkBox")
-  (c-name "GtkStackSwitcher")
-  (gtype-id "GTK_TYPE_STACK_SWITCHER")
-)
-
 (define-object PrinterOptionWidget
   (in-module "Gtk")
   (parent "GtkBox")
@@ -919,62 +499,6 @@
   (gtype-id "GTK_TYPE_PRINTER_OPTION_WIDGET")
 )
 
-(define-object InfoBar
-  (in-module "Gtk")
-  (parent "GtkBox")
-  (c-name "GtkInfoBar")
-  (gtype-id "GTK_TYPE_INFO_BAR")
-)
-
-(define-object ColorChooserWidget
-  (in-module "Gtk")
-  (parent "GtkBox")
-  (c-name "GtkColorChooserWidget")
-  (gtype-id "GTK_TYPE_COLOR_CHOOSER_WIDGET")
-)
-
-(define-object ColorButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkColorButton")
-  (gtype-id "GTK_TYPE_COLOR_BUTTON")
-)
-
-(define-object CellView
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkCellView")
-  (gtype-id "GTK_TYPE_CELL_VIEW")
-)
-
-(define-object Calendar
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkCalendar")
-  (gtype-id "GTK_TYPE_CALENDAR")
-)
-
-(define-object AppChooserWidget
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkAppChooserWidget")
-  (gtype-id "GTK_TYPE_APP_CHOOSER_WIDGET")
-)
-
-(define-object AppChooserButton
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkAppChooserButton")
-  (gtype-id "GTK_TYPE_APP_CHOOSER_BUTTON")
-)
-
-(define-object AccelLabel
-  (in-module "Gtk")
-  (parent "GtkWidget")
-  (c-name "GtkAccelLabel")
-  (gtype-id "GTK_TYPE_ACCEL_LABEL")
-)
-
 (define-object Window
   (in-module "Gtk")
   (parent "GtkBin")
@@ -989,55 +513,6 @@
   (gtype-id "GTK_TYPE_DIALOG")
 )
 
-(define-object PrintUnixDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkPrintUnixDialog")
-  (gtype-id "GTK_TYPE_PRINT_UNIX_DIALOG")
-)
-
-(define-object PageSetupUnixDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkPageSetupUnixDialog")
-  (gtype-id "GTK_TYPE_PAGE_SETUP_UNIX_DIALOG")
-)
-
-(define-object FontChooserDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkFontChooserDialog")
-  (gtype-id "GTK_TYPE_FONT_CHOOSER_DIALOG")
-)
-
-(define-object FileChooserDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkFileChooserDialog")
-  (gtype-id "GTK_TYPE_FILE_CHOOSER_DIALOG")
-)
-
-(define-object AboutDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkAboutDialog")
-  (gtype-id "GTK_TYPE_ABOUT_DIALOG")
-)
-
-(define-object AppChooserDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkAppChooserDialog")
-  (gtype-id "GTK_TYPE_APP_CHOOSER_DIALOG")
-)
-
-(define-object ColorChooserDialog
-  (in-module "Gtk")
-  (parent "GtkDialog")
-  (c-name "GtkColorChooserDialog")
-  (gtype-id "GTK_TYPE_COLOR_CHOOSER_DIALOG")
-)
-
 (define-object CustomPaperUnixDialog
   (in-module "Gtk")
   (parent "GtkDialog")
@@ -1045,13 +520,6 @@
   (gtype-id "GTK_TYPE_CUSTOM_PAPER_UNIX_DIALOG")
 )
 
-(define-object Assistant
-  (in-module "Gtk")
-  (parent "GtkWindow")
-  (c-name "GtkAssistant")
-  (gtype-id "GTK_TYPE_ASSISTANT")
-)
-
 (define-object ApplicationWindow
   (in-module "Gtk")
   (parent "GtkWindow")
@@ -1842,6 +1310,16 @@
   )
 )
 
+(define-enum PropagationLimit
+  (in-module "Gtk")
+  (c-name "GtkPropagationLimit")
+  (gtype-id "GTK_TYPE_PROPAGATION_LIMIT")
+  (values
+    '("none" "GTK_LIMIT_NONE")
+    '("same-native" "GTK_LIMIT_SAME_NATIVE")
+  )
+)
+
 (define-enum EventSequenceState
   (in-module "Gtk")
   (c-name "GtkEventSequenceState")
@@ -2062,17 +1540,6 @@
   )
 )
 
-(define-enum ArrowPlacement
-  (in-module "Gtk")
-  (c-name "GtkArrowPlacement")
-  (gtype-id "GTK_TYPE_ARROW_PLACEMENT")
-  (values
-    '("both" "GTK_ARROWS_BOTH")
-    '("start" "GTK_ARROWS_START")
-    '("end" "GTK_ARROWS_END")
-  )
-)
-
 (define-enum MenuTrackerItemRole
   (in-module "Gtk")
   (c-name "GtkMenuTrackerItemRole")
@@ -2130,26 +1597,6 @@
   )
 )
 
-(define-enum PrintBackendError
-  (in-module "Gtk")
-  (c-name "GtkPrintBackendError")
-  (gtype-id "GTK_TYPE_PRINT_BACKEND_ERROR")
-  (values
-    '("generic" "GTK_PRINT_BACKEND_ERROR_GENERIC")
-  )
-)
-
-(define-enum PrintBackendStatus
-  (in-module "Gtk")
-  (c-name "GtkPrintBackendStatus")
-  (gtype-id "GTK_TYPE_PRINT_BACKEND_STATUS")
-  (values
-    '("unknown" "GTK_PRINT_BACKEND_STATUS_UNKNOWN")
-    '("ok" "GTK_PRINT_BACKEND_STATUS_OK")
-    '("unavailable" "GTK_PRINT_BACKEND_STATUS_UNAVAILABLE")
-  )
-)
-
 (define-flags PrintCapabilities
   (in-module "Gtk")
   (c-name "GtkPrintCapabilities")
@@ -2482,19 +1929,6 @@
   )
 )
 
-(define-enum WindowPosition
-  (in-module "Gtk")
-  (c-name "GtkWindowPosition")
-  (gtype-id "GTK_TYPE_WINDOW_POSITION")
-  (values
-    '("none" "GTK_WIN_POS_NONE")
-    '("center" "GTK_WIN_POS_CENTER")
-    '("mouse" "GTK_WIN_POS_MOUSE")
-    '("center-always" "GTK_WIN_POS_CENTER_ALWAYS")
-    '("center-on-parent" "GTK_WIN_POS_CENTER_ON_PARENT")
-  )
-)
-
 (define-enum CssParserError
   (in-module "Gtk")
   (c-name "GtkCssParserError")
@@ -9082,6 +8516,21 @@
   )
 )
 
+(define-method get_propagation_limit
+  (of-object "GtkEventController")
+  (c-name "gtk_event_controller_get_propagation_limit")
+  (return-type "GtkPropagationLimit")
+)
+
+(define-method set_propagation_limit
+  (of-object "GtkEventController")
+  (c-name "gtk_event_controller_set_propagation_limit")
+  (return-type "none")
+  (parameters
+    '("GtkPropagationLimit" "limit")
+  )
+)
+
 
 
 ;; From gtkeventcontrollerkey.h
@@ -10900,6 +10349,39 @@
 
 
 
+;; From gtkgestureclick.h
+
+(define-function gtk_gesture_click_get_type
+  (c-name "gtk_gesture_click_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_gesture_click_new
+  (c-name "gtk_gesture_click_new")
+  (is-constructor-of "GtkGestureClick")
+  (return-type "GtkGesture*")
+)
+
+(define-method set_area
+  (of-object "GtkGestureClick")
+  (c-name "gtk_gesture_click_set_area")
+  (return-type "none")
+  (parameters
+    '("const-GdkRectangle*" "rect")
+  )
+)
+
+(define-method get_area
+  (of-object "GtkGestureClick")
+  (c-name "gtk_gesture_click_get_area")
+  (return-type "gboolean")
+  (parameters
+    '("GdkRectangle*" "rect")
+  )
+)
+
+
+
 ;; From gtkgesturedrag.h
 
 (define-function gtk_gesture_drag_get_type
@@ -11095,39 +10577,6 @@
 
 
 
-;; From gtkgesturemultipress.h
-
-(define-function gtk_gesture_multi_press_get_type
-  (c-name "gtk_gesture_multi_press_get_type")
-  (return-type "GType")
-)
-
-(define-function gtk_gesture_multi_press_new
-  (c-name "gtk_gesture_multi_press_new")
-  (is-constructor-of "GtkGestureMultiPress")
-  (return-type "GtkGesture*")
-)
-
-(define-method set_area
-  (of-object "GtkGestureMultiPress")
-  (c-name "gtk_gesture_multi_press_set_area")
-  (return-type "none")
-  (parameters
-    '("const-GdkRectangle*" "rect")
-  )
-)
-
-(define-method get_area
-  (of-object "GtkGestureMultiPress")
-  (c-name "gtk_gesture_multi_press_get_area")
-  (return-type "gboolean")
-  (parameters
-    '("GdkRectangle*" "rect")
-  )
-)
-
-
-
 ;; From gtkgesturepan.h
 
 (define-function gtk_gesture_pan_get_type
@@ -15477,6 +14926,33 @@
   (return-type "const-char*")
 )
 
+(define-method set_relief
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_set_relief")
+  (return-type "none")
+  (parameters
+    '("GtkReliefStyle" "relief")
+  )
+)
+
+(define-method get_relief
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_get_relief")
+  (return-type "GtkReliefStyle")
+)
+
+(define-method popup
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_popup")
+  (return-type "none")
+)
+
+(define-method popdown
+  (of-object "GtkMenuButton")
+  (c-name "gtk_menu_button_popdown")
+  (return-type "none")
+)
+
 
 
 ;; From gtkmenu.h
@@ -16403,6 +15879,36 @@
 
 
 
+;; From gtknative.h
+
+(define-function gtk_native_get_for_surface
+  (c-name "gtk_native_get_for_surface")
+  (return-type "GtkWidget*")
+  (parameters
+    '("GdkSurface*" "surface")
+  )
+)
+
+(define-method check_resize
+  (of-object "GtkNative")
+  (c-name "gtk_native_check_resize")
+  (return-type "none")
+)
+
+(define-method get_surface
+  (of-object "GtkNative")
+  (c-name "gtk_native_get_surface")
+  (return-type "GdkSurface*")
+)
+
+(define-method get_renderer
+  (of-object "GtkNative")
+  (c-name "gtk_native_get_renderer")
+  (return-type "GskRenderer*")
+)
+
+
+
 ;; From gtknotebook.h
 
 (define-function gtk_notebook_get_type
@@ -17760,8 +17266,18 @@
   (c-name "gtk_popover_new_from_model")
   (return-type "GtkWidget*")
   (parameters
-    '("GtkWidget*" "relative_to")
+    '("GtkWidget*" "relative_to")
+    '("GMenuModel*" "model")
+  )
+)
+
+(define-method bind_model
+  (of-object "GtkPopover")
+  (c-name "gtk_popover_bind_model")
+  (return-type "none")
+  (parameters
     '("GMenuModel*" "model")
+    '("const-gchar*" "action_namespace")
   )
 )
 
@@ -17813,71 +17329,60 @@
   (return-type "GtkPositionType")
 )
 
-(define-method set_modal
+(define-method set_autohide
   (of-object "GtkPopover")
-  (c-name "gtk_popover_set_modal")
+  (c-name "gtk_popover_set_autohide")
   (return-type "none")
   (parameters
-    '("gboolean" "modal")
+    '("gboolean" "autohide")
   )
 )
 
-(define-method get_modal
+(define-method get_autohide
   (of-object "GtkPopover")
-  (c-name "gtk_popover_get_modal")
+  (c-name "gtk_popover_get_autohide")
   (return-type "gboolean")
 )
 
-(define-method bind_model
-  (of-object "GtkPopover")
-  (c-name "gtk_popover_bind_model")
-  (return-type "none")
-  (parameters
-    '("GMenuModel*" "model")
-    '("const-gchar*" "action_namespace")
-  )
-)
-
-(define-method set_default_widget
+(define-method set_has_arrow
   (of-object "GtkPopover")
-  (c-name "gtk_popover_set_default_widget")
+  (c-name "gtk_popover_set_has_arrow")
   (return-type "none")
   (parameters
-    '("GtkWidget*" "widget")
+    '("gboolean" "has_arrow")
   )
 )
 
-(define-method get_default_widget
+(define-method get_has_arrow
   (of-object "GtkPopover")
-  (c-name "gtk_popover_get_default_widget")
-  (return-type "GtkWidget*")
+  (c-name "gtk_popover_get_has_arrow")
+  (return-type "gboolean")
 )
 
-(define-method set_constrain_to
+(define-method popup
   (of-object "GtkPopover")
-  (c-name "gtk_popover_set_constrain_to")
+  (c-name "gtk_popover_popup")
   (return-type "none")
-  (parameters
-    '("GtkPopoverConstraint" "constraint")
-  )
 )
 
-(define-method get_constrain_to
+(define-method popdown
   (of-object "GtkPopover")
-  (c-name "gtk_popover_get_constrain_to")
-  (return-type "GtkPopoverConstraint")
+  (c-name "gtk_popover_popdown")
+  (return-type "none")
 )
 
-(define-method popup
+(define-method set_default_widget
   (of-object "GtkPopover")
-  (c-name "gtk_popover_popup")
+  (c-name "gtk_popover_set_default_widget")
   (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+  )
 )
 
-(define-method popdown
-  (of-object "GtkPopover")
-  (c-name "gtk_popover_popdown")
-  (return-type "none")
+(define-function gtk_popover_get_popovers
+  (c-name "gtk_popover_get_popovers")
+  (return-type "GListModel*")
 )
 
 
@@ -17916,228 +17421,6 @@
 
 
 
-;; From gtkprintbackend.h
-
-(define-function gtk_print_backend_error_quark
-  (c-name "gtk_print_backend_error_quark")
-  (return-type "GQuark")
-)
-
-(define-function gtk_print_backend_get_type
-  (c-name "gtk_print_backend_get_type")
-  (return-type "GType")
-)
-
-(define-method get_printer_list
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_get_printer_list")
-  (return-type "GList*")
-)
-
-(define-method printer_list_is_done
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_printer_list_is_done")
-  (return-type "gboolean")
-)
-
-(define-method find_printer
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_find_printer")
-  (return-type "GtkPrinter*")
-  (parameters
-    '("const-gchar*" "printer_name")
-  )
-)
-
-(define-method print_stream
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_print_stream")
-  (return-type "none")
-  (parameters
-    '("GtkPrintJob*" "job")
-    '("GIOChannel*" "data_io")
-    '("GtkPrintJobCompleteFunc" "callback")
-    '("gpointer" "user_data")
-    '("GDestroyNotify" "dnotify")
-  )
-)
-
-(define-function gtk_print_backend_load_modules
-  (c-name "gtk_print_backend_load_modules")
-  (return-type "GList*")
-)
-
-(define-method destroy
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_destroy")
-  (return-type "none")
-)
-
-(define-method set_password
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_set_password")
-  (return-type "none")
-  (parameters
-    '("gchar**" "auth_info_required")
-    '("gchar**" "auth_info")
-    '("gboolean" "can_store_auth_info")
-  )
-)
-
-(define-method add_printer
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_add_printer")
-  (return-type "none")
-  (parameters
-    '("GtkPrinter*" "printer")
-  )
-)
-
-(define-method remove_printer
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_remove_printer")
-  (return-type "none")
-  (parameters
-    '("GtkPrinter*" "printer")
-  )
-)
-
-(define-method set_list_done
-  (of-object "GtkPrintBackend")
-  (c-name "gtk_print_backend_set_list_done")
-  (return-type "none")
-)
-
-(define-method is_new
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_is_new")
-  (return-type "gboolean")
-)
-
-(define-method set_accepts_pdf
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_accepts_pdf")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_accepts_ps
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_accepts_ps")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_is_new
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_is_new")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_is_active
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_is_active")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_is_paused
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_is_paused")
-  (return-type "gboolean")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_is_accepting_jobs
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_is_accepting_jobs")
-  (return-type "gboolean")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_has_details
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_has_details")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_is_default
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_is_default")
-  (return-type "none")
-  (parameters
-    '("gboolean" "val")
-  )
-)
-
-(define-method set_icon_name
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_icon_name")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "icon")
-  )
-)
-
-(define-method set_job_count
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_job_count")
-  (return-type "gboolean")
-  (parameters
-    '("gint" "count")
-  )
-)
-
-(define-method set_location
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_location")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "location")
-  )
-)
-
-(define-method set_description
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_description")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "description")
-  )
-)
-
-(define-method set_state_message
-  (of-object "GtkPrinter")
-  (c-name "gtk_printer_set_state_message")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "message")
-  )
-)
-
-(define-function gtk_print_backends_init
-  (c-name "gtk_print_backends_init")
-  (return-type "none")
-)
-
-
-
 ;; From gtkprintcontext.h
 
 (define-function gtk_print_context_get_type
@@ -21124,12 +20407,10 @@
 
 ;; From gtkroot.h
 
-(define-function gtk_root_get_for_surface
-  (c-name "gtk_root_get_for_surface")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GdkSurface*" "surface")
-  )
+(define-method get_display
+  (of-object "GtkRoot")
+  (c-name "gtk_root_get_display")
+  (return-type "GdkDisplay*")
 )
 
 (define-method set_focus
@@ -30250,27 +29531,6 @@
   (return-type "gboolean")
 )
 
-(define-method set_has_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_set_has_surface")
-  (return-type "none")
-  (parameters
-    '("gboolean" "has_surface")
-  )
-)
-
-(define-method get_has_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_has_surface")
-  (return-type "gboolean")
-)
-
-(define-method is_toplevel
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_is_toplevel")
-  (return-type "gboolean")
-)
-
 (define-method is_drawable
   (of-object "GtkWidget")
   (c-name "gtk_widget_is_drawable")
@@ -30310,6 +29570,12 @@
   (return-type "GtkRoot*")
 )
 
+(define-method get_native
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_native")
+  (return-type "GtkNative*")
+)
+
 (define-method set_child_visible
   (of-object "GtkWidget")
   (c-name "gtk_widget_set_child_visible")
@@ -30325,39 +29591,6 @@
   (return-type "gboolean")
 )
 
-(define-method set_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_set_surface")
-  (return-type "none")
-  (parameters
-    '("GdkSurface*" "surface")
-  )
-)
-
-(define-method get_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_surface")
-  (return-type "GdkSurface*")
-)
-
-(define-method register_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_register_surface")
-  (return-type "none")
-  (parameters
-    '("GdkSurface*" "surface")
-  )
-)
-
-(define-method unregister_surface
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_unregister_surface")
-  (return-type "none")
-  (parameters
-    '("GdkSurface*" "surface")
-  )
-)
-
 (define-method get_allocated_width
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_allocated_width")
@@ -30502,12 +29735,6 @@
   (return-type "GtkOverflow")
 )
 
-(define-method get_toplevel
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_toplevel")
-  (return-type "GtkWidget*")
-)
-
 (define-method get_ancestor
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_ancestor")
@@ -31716,15 +30943,6 @@
   )
 )
 
-(define-method set_position
-  (of-object "GtkWindow")
-  (c-name "gtk_window_set_position")
-  (return-type "none")
-  (parameters
-    '("GtkWindowPosition" "position")
-  )
-)
-
 (define-method set_focus
   (of-object "GtkWindow")
   (c-name "gtk_window_set_focus")
@@ -32756,6 +31974,11 @@
   (return-type "GType")
 )
 
+(define-function gtk_propagation_limit_get_type
+  (c-name "gtk_propagation_limit_get_type")
+  (return-type "GType")
+)
+
 (define-function gtk_event_sequence_state_get_type
   (c-name "gtk_event_sequence_state_get_type")
   (return-type "GType")
@@ -32831,11 +32054,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_arrow_placement_get_type
-  (c-name "gtk_arrow_placement_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_buttons_type_get_type
   (c-name "gtk_buttons_type_get_type")
   (return-type "GType")
@@ -32966,11 +32184,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_window_position_get_type
-  (c-name "gtk_window_position_get_type")
-  (return-type "GType")
-)
-
 
 
 ;; From gtkversion.h
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index a71ca591..678a2b11 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -3376,6 +3376,16 @@
   (default-value "GTK_PHASE_BUBBLE")
 )
 
+(define-property propagation-limit
+  (of-object "GtkEventController")
+  (prop-type "GParamEnum")
+  (docs "Propagation limit for events handled by this controller")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "GTK_LIMIT_SAME_NATIVE")
+)
+
 ;; From GtkEventControllerKey
 
 (define-signal key-pressed
@@ -4293,6 +4303,48 @@
   (default-value "1")
 )
 
+;; From GtkGestureClick
+
+(define-signal pressed
+  (of-object "GtkGestureClick")
+  (return-type "void")
+  (flags "Run Last")
+  (parameters
+    '("gint" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
+  )
+)
+
+(define-signal released
+  (of-object "GtkGestureClick")
+  (return-type "void")
+  (flags "Run Last")
+  (parameters
+    '("gint" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
+  )
+)
+
+(define-signal stopped
+  (of-object "GtkGestureClick")
+  (return-type "void")
+  (flags "Run Last")
+)
+
+(define-signal unpaired-release
+  (of-object "GtkGestureClick")
+  (return-type "void")
+  (flags "Run Last")
+  (parameters
+    '("gdouble" "p0")
+    '("gdouble" "p1")
+    '("guint" "p2")
+    '("GdkEventSequence*" "p3")
+  )
+)
+
 ;; From GtkGestureDrag
 
 (define-signal drag-begin
@@ -4353,48 +4405,6 @@
   (default-value "1")
 )
 
-;; From GtkGestureMultiPress
-
-(define-signal pressed
-  (of-object "GtkGestureMultiPress")
-  (return-type "void")
-  (flags "Run Last")
-  (parameters
-    '("gint" "p0")
-    '("gdouble" "p1")
-    '("gdouble" "p2")
-  )
-)
-
-(define-signal released
-  (of-object "GtkGestureMultiPress")
-  (return-type "void")
-  (flags "Run Last")
-  (parameters
-    '("gint" "p0")
-    '("gdouble" "p1")
-    '("gdouble" "p2")
-  )
-)
-
-(define-signal stopped
-  (of-object "GtkGestureMultiPress")
-  (return-type "void")
-  (flags "Run Last")
-)
-
-(define-signal unpaired-release
-  (of-object "GtkGestureMultiPress")
-  (return-type "void")
-  (flags "Run Last")
-  (parameters
-    '("gdouble" "p0")
-    '("gdouble" "p1")
-    '("guint" "p2")
-    '("GdkEventSequence*" "p3")
-  )
-)
-
 ;; From GtkGesturePan
 
 (define-signal pan
@@ -6112,6 +6122,16 @@
   (default-value "")
 )
 
+(define-property relief
+  (of-object "GtkMenuButton")
+  (prop-type "GParamEnum")
+  (docs "The border relief style")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "GTK_RELIEF_NORMAL")
+)
+
 ;; From GtkMenuItem
 
 (define-signal activate
@@ -6594,8 +6614,6 @@
   (flags "Run Last")
   (parameters
     '("GtkWidget*" "p0")
-    '("gint" "p1")
-    '("gint" "p2")
   )
 )
 
@@ -7076,33 +7094,33 @@
   (default-value "GTK_POS_TOP")
 )
 
-(define-property modal
+(define-property autohide
   (of-object "GtkPopover")
   (prop-type "GParamBoolean")
-  (docs "Whether the popover is modal")
+  (docs "Whether to dismiss the popver on outside clicks")
   (readable #t)
   (writable #t)
   (construct-only #f)
   (default-value "TRUE")
 )
 
-(define-property constrain-to
+(define-property default-widget
   (of-object "GtkPopover")
-  (prop-type "GParamEnum")
-  (docs "Constraint for the popover position")
+  (prop-type "GParamObject")
+  (docs "The default widget")
   (readable #t)
   (writable #t)
   (construct-only #f)
-  (default-value "GTK_POPOVER_CONSTRAINT_WINDOW")
 )
 
-(define-property default-widget
+(define-property has-arrow
   (of-object "GtkPopover")
-  (prop-type "GParamObject")
-  (docs "The default widget")
+  (prop-type "GParamBoolean")
+  (docs "Whether to draw an arrow")
   (readable #t)
   (writable #t)
   (construct-only #f)
+  (default-value "TRUE")
 )
 
 ;; From GtkPopoverMenu
@@ -8888,6 +8906,16 @@
   (default-value "FALSE")
 )
 
+(define-property gtk-overlay-scrolling
+  (of-object "GtkSettings")
+  (prop-type "GParamBoolean")
+  (docs "Whether to use overlay scrollbars")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "TRUE")
+)
+
 ;; From GtkShortcutLabel
 
 (define-property accelerator
@@ -12470,15 +12498,6 @@
   (default-value "")
 )
 
-(define-property surface
-  (of-object "GtkWidget")
-  (prop-type "GParamObject")
-  (docs "The widget’s surface if it is realized")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-)
-
 (define-property opacity
   (of-object "GtkWidget")
   (prop-type "GParamDouble")
@@ -12734,16 +12753,6 @@
   (default-value "FALSE")
 )
 
-(define-property window-position
-  (of-object "GtkWindow")
-  (prop-type "GParamEnum")
-  (docs "The initial position of the window")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "GTK_WIN_POS_NONE")
-)
-
 (define-property default-width
   (of-object "GtkWindow")
   (prop-type "GParamInt")
diff --git a/gtk/src/gtk_vfuncs.defs b/gtk/src/gtk_vfuncs.defs
index 3653aec0..f7524c54 100644
--- a/gtk/src/gtk_vfuncs.defs
+++ b/gtk/src/gtk_vfuncs.defs
@@ -456,6 +456,32 @@
   )
 )
 
+; GtkNative
+
+(define-vfunc get_surface
+  (of-object "GtkNative")
+  (return-type "GdkSurface*")
+)
+
+(define-vfunc get_renderer
+  (of-object "GtkNative")
+  (return-type "GskRenderer*")
+)
+
+(define-vfunc get_surface_transform
+  (of-object "GtkNative")
+  (return-type "none")
+  (parameters
+    '("int*" "x")
+    '("int*" "y")
+  )
+)
+
+(define-vfunc check_resize
+  (of-object "GtkNative")
+  (return-type "none")
+)
+
 ; GtkRange
 
 (define-vfunc get_range_border
@@ -473,20 +499,6 @@
   (return-type "GdkDisplay*")
 )
 
-(define-vfunc get_renderer
-  (of-object "GtkRoot")
-  (return-type "GskRenderer*")
-)
-
-(define-vfunc get_surface_transform
-  (of-object "GtkRoot")
-  (return-type "none")
-  (parameters
-    '("int*" "x")
-    '("int*" "y")
-  )
-)
-
 ; GtkScrollable
 
 (define-vfunc get_border


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]