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



commit 57403f67215b90d184a624f99df21ebb1ef15d35
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Mon Feb 24 15:43:10 2020 +0100

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update gdk_docs_override.xml, gdk_extra_objects.defs,
    gtk_vfuncs.defs, tools/extra_defs_gen/generate_defs_gtk.cc

 gdk/src/gdk_docs.xml                      | 4908 ++++++++++++++---------------
 gdk/src/gdk_docs_override.xml             |   21 +
 gdk/src/gdk_enums.defs                    |  190 +-
 gdk/src/gdk_extra_objects.defs            |    6 +
 gdk/src/gdk_methods.defs                  |  759 +++--
 gdk/src/gdk_signals.defs                  |   20 +-
 gtk/src/gtk_docs.xml                      | 2752 ++++------------
 gtk/src/gtk_enums.defs                    |   60 +-
 gtk/src/gtk_methods.defs                  |  838 +----
 gtk/src/gtk_signals.defs                  |  306 +-
 gtk/src/gtk_vfuncs.defs                   |    7 +-
 tools/extra_defs_gen/generate_defs_gtk.cc |    2 +
 12 files changed, 3903 insertions(+), 5966 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index d68fcb16..46f12dd9 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -991,26 +991,14 @@ events, so different sequences may be distinguished.
 <description>
 Specifies the type of the event.
 
-Do not confuse these events with the signals that GTK+ widgets emit.
-Although many of these events result in corresponding signals being emitted,
-the events are often transformed or filtered along the way.
-
 </description>
 <parameters>
-<parameter name="GDK_NOTHING">
-<parameter_description> a special code to indicate a null event.
-</parameter_description>
-</parameter>
 <parameter name="GDK_DELETE">
 <parameter_description> the window manager has requested that the toplevel surface be
 hidden or destroyed, usually when the user clicks on a special icon in the
 title bar.
 </parameter_description>
 </parameter>
-<parameter name="GDK_DESTROY">
-<parameter_description> the surface has been destroyed.
-</parameter_description>
-</parameter>
 <parameter name="GDK_MOTION_NOTIFY">
 <parameter_description> the pointer (usually a mouse) has moved.
 </parameter_description>
@@ -1044,7 +1032,7 @@ title bar.
 </parameter_description>
 </parameter>
 <parameter name="GDK_CONFIGURE">
-<parameter_description> the size, position or stacking order of the surface has changed.
+<parameter_description> the size of the surface has changed.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PROXIMITY_IN">
@@ -1079,67 +1067,57 @@ progress.
 </parameter_description>
 </parameter>
 <parameter name="GDK_GRAB_BROKEN">
-<parameter_description> a pointer or keyboard grab was broken. This event type
-was added in 2.8.
+<parameter_description> a pointer or keyboard grab was broken.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCH_BEGIN">
-<parameter_description> A new touch event sequence has just started. This event
-type was added in 3.4.
+<parameter_description> A new touch event sequence has just started.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCH_UPDATE">
-<parameter_description> A touch event sequence has been updated. This event type
-was added in 3.4.
+<parameter_description> A touch event sequence has been updated.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCH_END">
-<parameter_description> A touch event sequence has finished. This event type
-was added in 3.4.
+<parameter_description> A touch event sequence has finished.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCH_CANCEL">
-<parameter_description> A touch event sequence has been canceled. This event type
-was added in 3.4.
+<parameter_description> A touch event sequence has been canceled.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCHPAD_SWIPE">
 <parameter_description> A touchpad swipe gesture event, the current state
-is determined by its phase field. This event type was added in 3.18.
+is determined by its phase field.
 </parameter_description>
 </parameter>
 <parameter name="GDK_TOUCHPAD_PINCH">
 <parameter_description> A touchpad pinch gesture event, the current state
-is determined by its phase field. This event type was added in 3.18.
+is determined by its phase field.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PAD_BUTTON_PRESS">
-<parameter_description> A tablet pad button press event. This event type
-was added in 3.22.
+<parameter_description> A tablet pad button press event.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PAD_BUTTON_RELEASE">
-<parameter_description> A tablet pad button release event. This event type
-was added in 3.22.
+<parameter_description> A tablet pad button release event.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PAD_RING">
-<parameter_description> A tablet pad axis event from a &quot;ring&quot;. This event type was
-added in 3.22.
+<parameter_description> A tablet pad axis event from a &quot;ring&quot;.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PAD_STRIP">
-<parameter_description> A tablet pad axis event from a &quot;strip&quot;. This event type was
-added in 3.22.
+<parameter_description> A tablet pad axis event from a &quot;strip&quot;.
 </parameter_description>
 </parameter>
 <parameter name="GDK_PAD_GROUP_MODE">
-<parameter_description> A tablet pad group mode change. This event type was
-added in 3.22.
+<parameter_description> A tablet pad group mode change.
 </parameter_description>
 </parameter>
 <parameter name="GDK_EVENT_LAST">
-<parameter_description> marks the end of the GdkEventType enumeration. Added in 2.18
+<parameter_description> marks the end of the GdkEventType enumeration.
 </parameter_description>
 </parameter>
 </parameters>
@@ -2611,43 +2589,17 @@ Emitted when GDK receives an input event for @surface.
 </return>
 </signal>
 
-<signal name="GdkSurface::moved-to-rect">
+<signal name="GdkSurface::popup-layout-changed">
 <description>
-Emitted when the position of @surface is finalized after being moved to a
-destination rectangle.
+Emitted when the layout of a popup @surface has changed, e.g. if the popup
+layout was reactive and after the parent moved causing the popover to end
+up partially off-screen.
 
-@surface might be flipped over the destination rectangle in order to keep
-it on-screen, in which case @flipped_x and @flipped_y will be set to %TRUE
-accordingly.
-
-@flipped_rect is the ideal position of @surface after any possible
-flipping, but before any possible sliding. @final_rect is @flipped_rect,
-but possibly translated in the case that flipping is still ineffective in
-keeping @surface on-screen.
-Stability: Private
 
 </description>
 <parameters>
 <parameter name="surface">
-<parameter_description> the #GdkSurface that moved
-</parameter_description>
-</parameter>
-<parameter name="flipped_rect">
-<parameter_description> the position of @surface after any possible
-flipping or %NULL if the backend can't obtain it
-</parameter_description>
-</parameter>
-<parameter name="final_rect">
-<parameter_description> the final position of @surface or %NULL if the
-backend can't obtain it
-</parameter_description>
-</parameter>
-<parameter name="flipped_x">
-<parameter_description> %TRUE if the anchors were flipped horizontally
-</parameter_description>
-</parameter>
-<parameter name="flipped_y">
-<parameter_description> %TRUE if the anchors were flipped vertically
+<parameter_description> the #GdkSurface that was laid out
 </parameter_description>
 </parameter>
 </parameters>
@@ -3248,6 +3200,22 @@ prevention'.
 <return></return>
 </function>
 
+<function name="gdk_button_event_get_button">
+<description>
+Extract the button number from a button event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a button event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the button of @event
+</return>
+</function>
+
 <function name="gdk_cairo_context_cairo_create">
 <description>
 Retrieves a Cairo context to be used to draw on the #GdkSurface
@@ -3332,29 +3300,6 @@ Calling this may change the current GL context.
 <return></return>
 </function>
 
-<function name="gdk_cairo_get_clip_rectangle">
-<description>
-This is a convenience function around cairo_clip_extents().
-It rounds the clip extents to integer coordinates and returns
-a boolean indicating if a clip area exists.
-
-
-</description>
-<parameters>
-<parameter name="cr">
-<parameter_description> a cairo context
-</parameter_description>
-</parameter>
-<parameter name="rect">
-<parameter_description> return location for the clip, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if a clip rectangle exists, %FALSE if all of @cr is
-clipped and all drawing can be skipped
-</return>
-</function>
-
 <function name="gdk_cairo_rectangle">
 <description>
 Adds the given rectangle to the current path of @cr.
@@ -4007,6 +3952,28 @@ ignore.
 </return>
 </function>
 
+<function name="gdk_configure_event_get_size">
+<description>
+Extracts the surface size from a configure event.
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a configure event
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> return location for surface width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> return location for surface height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gdk_content_deserialize_async">
 <description>
 Read content from the given input stream and deserialize it, asynchronously.
@@ -4820,23 +4787,15 @@ the given @mime_type.
 </return>
 </function>
 
-<function name="gdk_content_provider_new_for_callback">
+<function name="gdk_content_provider_new_for_value">
 <description>
-Create a content provider that provides data that is provided via a callback.
+Create a content provider that provides the given @value.
 
 
 </description>
 <parameters>
-<parameter name="type">
-<parameter_description> the type that the callback provides
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> callback to populate a #GValue
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data that gets passed to @func
+<parameter name="value">
+<parameter_description> a #GValue
 </parameter_description>
 </parameter>
 </parameters>
@@ -4844,15 +4803,20 @@ Create a content provider that provides data that is provided via a callback.
 </return>
 </function>
 
-<function name="gdk_content_provider_new_for_value">
+<function name="gdk_content_provider_new_typed">
 <description>
-Create a content provider that provides the given @value.
+Create a content provider that provides the value of the given
+@type.
+
+The value is provided using G_VALUE_COLLECT(), so the same rules
+apply as when calling g_object_new() or g_object_set().
 
 
 </description>
 <parameters>
-<parameter name="value">
-<parameter_description> a #GValue
+<parameter name="type">
+<parameter_description> Type of value to follow
+...: value
 </parameter_description>
 </parameter>
 </parameters>
@@ -4860,23 +4824,35 @@ Create a content provider that provides the given @value.
 </return>
 </function>
 
-<function name="gdk_content_provider_new_with_formats">
+<function name="gdk_content_provider_new_union">
 <description>
-Create a content provider that provides data that is provided via a callback.
+Creates a content provider that represents all the given @providers.
+
+Whenever data needs to be written, the union provider will try the given
+@providers in the given order and the first one supporting a format will
+be chosen to provide it.
+
+This allows an easy way to support providing data in different formats.
+For example, an image may be provided by its file and by the iamge
+contents with a call such as
+|[&lt;!-- language=&quot;C&quot; --&gt;
+gdk_content_provider_new_union ((GdkContentProvider *[2]) {
+gdk_content_provider_new_typed (G_TYPE_FILE, file),
+gdk_content_provider_new_typed (G_TYPE_TEXTURE, texture)
+}, 2);
+]|
+
 
 
 </description>
 <parameters>
-<parameter name="formats">
-<parameter_description> formats to advertise
+<parameter name="providers">
+<parameter_description> (nullable) (array length=n_providers) [transfer elements]:
+The #GdkContentProviders to present the union of
 </parameter_description>
 </parameter>
-<parameter name="func">
-<parameter_description> callback to populate a #GValue
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> data that gets passed to @func
+<parameter name="n_providers">
+<parameter_description> the number of providers
 </parameter_description>
 </parameter>
 </parameters>
@@ -5301,6 +5277,38 @@ Associate data with the current serialization operation.
 <return></return>
 </function>
 
+<function name="gdk_crossing_event_get_detail">
+<description>
+Extracts the notify detail from a crossing event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a crossing event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the notify detail of @event
+</return>
+</function>
+
+<function name="gdk_crossing_event_get_mode">
+<description>
+Extracts the crossing mode from a crossing event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a crossing event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the mode of @event
+</return>
+</function>
+
 <function name="gdk_cursor_get_fallback">
 <description>
 Returns the fallback for this @cursor. The fallback will be used if this
@@ -5571,6 +5579,25 @@ and locates the value in the array for a given axis use.
 </return>
 </function>
 
+<function name="gdk_device_get_axis_names">
+<description>
+Returns a null-terminated array of strings, containing the labels for
+the axes that @device currently has.
+If the device has no axes, %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="device">
+<parameter_description> a #GdkDevice
+</parameter_description>
+</parameter>
+</parameters>
+<return> A null-terminated string array,
+free with g_strfreev().
+</return>
+</function>
+
 <function name="gdk_device_get_axis_use">
 <description>
 Returns the axis use for @index_.
@@ -5595,7 +5622,7 @@ Returns the axis use for @index_.
 <description>
 Interprets an array of double as axis values for a given device,
 and locates the value in the array for a given axis label, as returned
-by gdk_device_list_axes()
+by gdk_device_get_axes()
 
 
 </description>
@@ -5988,24 +6015,6 @@ return settings;
 </return>
 </function>
 
-<function name="gdk_device_list_axes">
-<description>
-Returns a #GList of #GdkAtoms, containing the labels for
-the axes that @device currently has.
-
-
-</description>
-<parameters>
-<parameter name="device">
-<parameter_description> a pointer #GdkDevice
-</parameter_description>
-</parameter>
-</parameters>
-<return>
-A #GList of strings, free with g_list_free().
-</return>
-</function>
-
 <function name="gdk_device_list_slave_devices">
 <description>
 If the device if of type %GDK_DEVICE_TYPE_MASTER, it will return
@@ -6836,17 +6845,14 @@ event queue
 
 <function name="gdk_display_put_event">
 <description>
-Appends a copy of the given event onto the front of the event
+Appends the given event onto the front of the event
 queue for @display.
 
 </description>
 <parameters>
 <parameter name="display">
 <parameter_description> a #GdkDisplay
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description> a #GdkEvent.
+@event (transfer none): a #GdkEvent.
 </parameter_description>
 </parameter>
 </parameters>
@@ -6937,6 +6943,10 @@ This function is called by the drag source. After this call, you
 probably want to set up the drag icon using the surface returned
 by gdk_drag_get_drag_surface().
 
+This function returns a reference to the GdkDrag object, but GTK
+keeps its own reference as well, as long as the DND operation is
+going on.
+
 Note: if @actions include %GDK_ACTION_MOVE, you need to listen for
 the #GdkDrag::dnd-finished signal and delete the data at the source
 if gdk_drag_get_selected_action() returns %GDK_ACTION_MOVE.
@@ -7001,6 +7011,22 @@ all subsequent calls will be ignored.
 <return></return>
 </function>
 
+<function name="gdk_drag_event_get_drop">
+<description>
+Gets the #GdkDrop from a DND event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a DND event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the drop
+</return>
+</function>
+
 <function name="gdk_drag_get_actions">
 <description>
 Determines the bitmask of possible actions proposed by the source.
@@ -7636,23 +7662,6 @@ that a drop will not be accepted
 <return></return>
 </function>
 
-<function name="gdk_event_copy">
-<description>
-Copies a #GdkEvent, copying or incrementing the reference count of the
-resources associated with it (e.g. #GdkSurface’s and strings).
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-</parameters>
-<return> a copy of @event. Free with g_object_unref()
-</return>
-</function>
-
 <function name="gdk_event_get_axes">
 <description>
 Extracts all axis values from an event.
@@ -7702,29 +7711,32 @@ an event structure.
 </return>
 </function>
 
-<function name="gdk_event_get_button">
+<function name="gdk_event_get_device">
 <description>
-Extract the button number from an event.
+Returns the device of an event.
 
 
 </description>
 <parameters>
 <parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> location to store mouse button number
+<parameter_description> a #GdkEvent.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event delivered a button number
+<return> a #GdkDevice, or %NULL.
 </return>
 </function>
 
-<function name="gdk_event_get_click_count">
+<function name="gdk_event_get_device_tool">
 <description>
-Extracts the click count from an event.
+If the event was generated by a device that supports
+different tools (eg. a tablet), this function will
+return a #GdkDeviceTool representing the tool that
+caused the event. Otherwise, %NULL will be returned.
+
+Note: the #GdkDeviceTools will be constant during
+the application lifetime, if settings must be stored
+persistently across runs, see gdk_device_tool_get_serial()
 
 
 </description>
@@ -7733,18 +7745,14 @@ Extracts the click count from an event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="click_count">
-<parameter_description> location to store click count
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if the event delivered a click count
+<return> The current device tool, or %NULL
 </return>
 </function>
 
-<function name="gdk_event_get_coords">
+<function name="gdk_event_get_display">
 <description>
-Extract the event surface relative x/y coordinates from an event.
+Retrieves the #GdkDisplay associated to the @event.
 
 
 </description>
@@ -7753,22 +7761,15 @@ Extract the event surface relative x/y coordinates from an event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="x_win">
-<parameter_description> location to put event surface x coordinate
-</parameter_description>
-</parameter>
-<parameter name="y_win">
-<parameter_description> location to put event surface y coordinate
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if the event delivered event surface coordinates
+<return> a #GdkDisplay
 </return>
 </function>
 
-<function name="gdk_event_get_crossing_detail">
+<function name="gdk_event_get_event_sequence">
 <description>
-Extracts the crossing detail from an event.
+If @event is a touch event, returns the #GdkEventSequence
+to which the event belongs. Otherwise, return %NULL.
 
 
 </description>
@@ -7777,18 +7778,14 @@ Extracts the crossing detail from an event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="detail">
-<parameter_description> return location for the crossing detail
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> the event sequence that the event belongs to
 </return>
 </function>
 
-<function name="gdk_event_get_crossing_mode">
+<function name="gdk_event_get_event_type">
 <description>
-Extracts the crossing mode from an event.
+Retrieves the type of the event.
 
 
 </description>
@@ -7797,58 +7794,49 @@ Extracts the crossing mode from an event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="mode">
-<parameter_description> return location for the crossing mode
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> a #GdkEventType
 </return>
 </function>
 
-<function name="gdk_event_get_device">
+<function name="gdk_event_get_modifier_state">
 <description>
-If the event contains a “device” field, this function will return
-it, else it will return %NULL.
+Returns the modifier state field of an event.
 
 
 </description>
 <parameters>
 <parameter name="event">
-<parameter_description> a #GdkEvent.
+<parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkDevice, or %NULL.
+<return> the modifier state of @event
 </return>
 </function>
 
-<function name="gdk_event_get_device_tool">
+<function name="gdk_event_get_motion_history">
 <description>
-If the event was generated by a device that supports
-different tools (eg. a tablet), this function will
-return a #GdkDeviceTool representing the tool that
-caused the event. Otherwise, %NULL will be returned.
-
-Note: the #GdkDeviceTool&lt;!-- --&gt;s will be constant during
-the application lifetime, if settings must be stored
-persistently across runs, see gdk_device_tool_get_serial()
+Retrieves the history of the @event motion, as a list of time and
+coordinates.
 
 
 </description>
 <parameters>
 <parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter_description> a #GdkEvent of type %GDK_MOTION_NOTIFY
 </parameter_description>
 </parameter>
 </parameters>
-<return> The current device tool, or %NULL
+<return> a list
+of time and coordinates
 </return>
 </function>
 
-<function name="gdk_event_get_display">
+<function name="gdk_event_get_pointer_emulated">
 <description>
-Retrieves the #GdkDisplay associated to the @event.
+Returns whether this event is an 'emulated' pointer event (typically
+from a touch event), as opposed to a real one.
 
 
 </description>
@@ -7858,14 +7846,13 @@ Retrieves the #GdkDisplay associated to the @event.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkDisplay
+<return> %TRUE if this event is emulated
 </return>
 </function>
 
-<function name="gdk_event_get_drop">
+<function name="gdk_event_get_position">
 <description>
-Gets the #GdkDrop from a DND event.
-
+Extract the event surface relative x/y coordinates from an event.
 
 </description>
 <parameters>
@@ -7873,16 +7860,29 @@ Gets the #GdkDrop from a DND event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
+<parameter name="x">
+<parameter_description> location to put event surface x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> location to put event surface y coordinate
+</parameter_description>
+</parameter>
 </parameters>
-<return> the drop
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_event_sequence">
+<function name="gdk_event_get_source_device">
 <description>
-If @event if of type %GDK_TOUCH_BEGIN, %GDK_TOUCH_UPDATE,
-%GDK_TOUCH_END or %GDK_TOUCH_CANCEL, returns the #GdkEventSequence
-to which the event belongs. Otherwise, return %NULL.
+This function returns the hardware (slave) #GdkDevice that has
+triggered the event, falling back to the virtual (master) device
+(as in gdk_event_get_device()) if the event wasn’t caused by
+interaction with a hardware device. This may happen for example
+in synthesized crossing events after a #GdkSurface updates its
+geometry or a grab is acquired/released.
+
+If the event does not contain a device field, this function will
+return %NULL.
 
 
 </description>
@@ -7892,13 +7892,13 @@ to which the event belongs. Otherwise, return %NULL.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the event sequence that the event belongs to
+<return> a #GdkDevice, or %NULL.
 </return>
 </function>
 
-<function name="gdk_event_get_event_type">
+<function name="gdk_event_get_surface">
 <description>
-Retrieves the type of the event.
+Extracts the #GdkSurface associated with an event.
 
 
 </description>
@@ -7908,13 +7908,14 @@ Retrieves the type of the event.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkEventType
+<return> The #GdkSurface associated with the event
 </return>
 </function>
 
-<function name="gdk_event_get_focus_in">
+<function name="gdk_event_get_time">
 <description>
-Extracts whether this is a focus-in or focus-out event.
+Returns the time stamp from @event, if there is one; otherwise
+returns #GDK_CURRENT_TIME.
 
 
 </description>
@@ -7923,18 +7924,14 @@ Extracts whether this is a focus-in or focus-out event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="focus_in">
-<parameter_description> return location for focus direction
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> time stamp field from @event
 </return>
 </function>
 
-<function name="gdk_event_get_grab_surface">
+<function name="gdk_event_ref">
 <description>
-Extracts the grab surface from a grab broken event.
+Increase the ref count of @event.
 
 
 </description>
@@ -7943,40 +7940,39 @@ Extracts the grab surface from a grab broken event.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="surface">
-<parameter_description> Return location for the grab surface
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> @event
 </return>
 </function>
 
-<function name="gdk_event_get_key_group">
+<function name="gdk_event_triggers_context_menu">
 <description>
-Extracts the key group from an event.
+This function returns whether a #GdkEventButton should trigger a
+context menu, according to platform conventions. The right mouse
+button always triggers context menus. Additionally, if
+gdk_keymap_get_modifier_mask() returns a non-0 mask for
+%GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will
+also trigger a context menu if this modifier is pressed.
+
+This function should always be used instead of simply checking for
+event-&gt;button == %GDK_BUTTON_SECONDARY.
 
 
 </description>
 <parameters>
 <parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="group">
-<parameter_description> return location for the key group
+<parameter_description> a #GdkEvent, currently only button events are meaningful values
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> %TRUE if the event should trigger a context menu.
 </return>
 </function>
 
-<function name="gdk_event_get_key_is_modifier">
+<function name="gdk_event_unref">
 <description>
-Extracts whether the event is a key event for
-a modifier key.
-
+Decrease the ref count of @event, and free it
+if the last reference is dropped.
 
 </description>
 <parameters>
@@ -7984,2781 +7980,2672 @@ a modifier key.
 <parameter_description> a #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="is_modifier">
-<parameter_description> return location for the value
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_keycode">
+<function name="gdk_events_get_angle">
 <description>
-Extracts the hardware keycode from an event.
-
-Also see gdk_event_get_scancode().
+If both events contain X/Y information, this function will return %TRUE
+and return in @angle the relative angle from @event1 to @event2. The rotation
+direction for positive angles is from the positive X axis towards the positive
+Y axis.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="keycode">
-<parameter_description> location to store the keycode
+<parameter name="event1">
+<parameter_description> first #GdkEvent
 </parameter_description>
 </parameter>
-</parameters>
-<return> %TRUE if the event delivered a hardware keycode
-</return>
-</function>
-
-<function name="gdk_event_get_keyval">
-<description>
-Extracts the keyval from an event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="event2">
+<parameter_description> second #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="keyval">
-<parameter_description> location to store the keyval
+<parameter name="angle">
+<parameter_description> return location for the relative angle between both events
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event delivered a key symbol
+<return> %TRUE if the angle could be calculated.
 </return>
 </function>
 
-<function name="gdk_event_get_motion_history">
+<function name="gdk_events_get_center">
 <description>
-Retrieves the history of the @event motion, as a list of time and
-coordinates.
+If both events contain X/Y information, the center of both coordinates
+will be returned in @x and @y.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent of type %GDK_MOTION_NOTIFY
+<parameter name="event1">
+<parameter_description> first #GdkEvent
 </parameter_description>
 </parameter>
-</parameters>
-<return> a list
-of time and coordinates
-</return>
-</function>
-
-<function name="gdk_event_get_pad_axis_value">
-<description>
-Extracts the information from a pad event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="event2">
+<parameter_description> second #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="index">
-<parameter_description> Return location for the axis index
+<parameter name="x">
+<parameter_description> return location for the X coordinate of the center
 </parameter_description>
 </parameter>
-<parameter name="value">
-<parameter_description> Return location for the axis value
+<parameter name="y">
+<parameter_description> return location for the Y coordinate of the center
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> %TRUE if the center could be calculated.
 </return>
 </function>
 
-<function name="gdk_event_get_pad_button">
+<function name="gdk_events_get_distance">
 <description>
-Extracts information about the pressed button from
-a pad event.
+If both events have X/Y information, the distance between both coordinates
+(as in a straight line going from @event1 to @event2) will be returned.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="event1">
+<parameter_description> first #GdkEvent
 </parameter_description>
 </parameter>
-<parameter name="button">
-<parameter_description> Return location for the button
+<parameter name="event2">
+<parameter_description> second #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="distance">
+<parameter_description> return location for the distance
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> %TRUE if the distance could be calculated.
 </return>
 </function>
 
-<function name="gdk_event_get_pad_group_mode">
+<function name="gdk_focus_event_get_in">
 <description>
-Extracts group and mode information from a pad event.
+Extracts whether this event is about focus entering or
+leaving the surface.
 
 
 </description>
 <parameters>
 <parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="group">
-<parameter_description> return location for the group
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> return location for the mode
+<parameter_description> a focus change event
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> %TRUE of the focus is entering
 </return>
 </function>
 
-<function name="gdk_event_get_pointer_emulated">
+<function name="gdk_frame_clock_begin_updating">
 <description>
-Returns whether this event is an 'emulated' pointer event (typically
-from a touch event), as opposed to a real one.
-
+Starts updates for an animation. Until a matching call to
+gdk_frame_clock_end_updating() is made, the frame clock will continually
+request a new frame with the %GDK_FRAME_CLOCK_PHASE_UPDATE phase.
+This function may be called multiple times and frames will be
+requested until gdk_frame_clock_end_updating() is called the same
+number of times.
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if this event is emulated
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_scancode">
+<function name="gdk_frame_clock_end_updating">
 <description>
-Gets the keyboard low-level scancode of a key event.
-
-This is usually hardware_keycode. On Windows this is the high
-word of WM_KEY{DOWN,UP} lParam which contains the scancode and
-some extended flags.
-
+Stops updates for an animation. See the documentation for
+gdk_frame_clock_begin_updating().
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> The associated keyboard scancode or 0
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_scroll_deltas">
+<function name="gdk_frame_clock_get_current_timings">
 <description>
-Retrieves the scroll deltas from a #GdkEvent
+Gets the frame timings for the current frame.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="delta_x">
-<parameter_description> return location for X delta
-</parameter_description>
-</parameter>
-<parameter name="delta_y">
-<parameter_description> return location for Y delta
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event contains smooth scroll information
+<return> the #GdkFrameTimings for the
+frame currently being processed, or even no frame is being
+processed, for the previous frame. Before any frames have been
+processed, returns %NULL.
 </return>
 </function>
 
-<function name="gdk_event_get_scroll_direction">
+<function name="gdk_frame_clock_get_frame_counter">
 <description>
-Extracts the scroll direction from an event.
+A #GdkFrameClock maintains a 64-bit counter that increments for
+each frame drawn.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="direction">
-<parameter_description> location to store the scroll direction
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event delivered a scroll direction
+<return> inside frame processing, the value of the frame counter
+for the current frame. Outside of frame processing, the frame
+counter for the last frame.
 </return>
 </function>
 
-<function name="gdk_event_get_seat">
+<function name="gdk_frame_clock_get_frame_time">
 <description>
-Returns the #GdkSeat this event was generated for.
+Gets the time that should currently be used for animations.  Inside
+the processing of a frame, it’s the time used to compute the
+animation position of everything in a frame. Outside of a frame, it's
+the time of the conceptual “previous frame,” which may be either
+the actual previous frame time, or if that’s too old, an updated
+time.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> The #GdkSeat of this event
+<return> a timestamp in microseconds, in the timescale of
+of g_get_monotonic_time().
 </return>
 </function>
 
-<function name="gdk_event_get_source_device">
+<function name="gdk_frame_clock_get_history_start">
 <description>
-This function returns the hardware (slave) #GdkDevice that has
-triggered the event, falling back to the virtual (master) device
-(as in gdk_event_get_device()) if the event wasn’t caused by
-interaction with a hardware device. This may happen for example
-in synthesized crossing events after a #GdkSurface updates its
-geometry or a grab is acquired/released.
-
-If the event does not contain a device field, this function will
-return %NULL.
+#GdkFrameClock internally keeps a history of #GdkFrameTimings
+objects for recent frames that can be retrieved with
+gdk_frame_clock_get_timings(). The set of stored frames
+is the set from the counter values given by
+gdk_frame_clock_get_history_start() and
+gdk_frame_clock_get_frame_counter(), inclusive.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkDevice, or %NULL.
+<return> the frame counter value for the oldest frame
+that is available in the internal frame history of the
+#GdkFrameClock.
 </return>
 </function>
 
-<function name="gdk_event_get_state">
+<function name="gdk_frame_clock_get_refresh_info">
 <description>
-If the event contains a “state” field, puts that field in @state.
-
-Otherwise stores an empty state (0).
-@event may be %NULL, in which case it’s treated
-as if the event had no state field.
-
+Using the frame history stored in the frame clock, finds the last
+known presentation time and refresh interval, and assuming that
+presentation times are separated by the refresh interval,
+predicts a presentation time that is a multiple of the refresh
+interval after the last presentation time, and later than @base_time.
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent or %NULL
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
-<parameter name="state">
-<parameter_description> return location for state
+<parameter name="base_time">
+<parameter_description> base time for determining a presentaton time
 </parameter_description>
 </parameter>
-</parameters>
-<return> %TRUE if there was a state field in the event
-</return>
-</function>
-
-<function name="gdk_event_get_surface">
-<description>
-Extracts the #GdkSurface associated with an event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="refresh_interval_return">
+<parameter_description> a location to store the
+determined refresh interval, or %NULL. A default refresh interval of
+1/60th of a second will be stored if no history is present.
 </parameter_description>
 </parameter>
-</parameters>
-<return> The #GdkSurface associated with the event
-</return>
-</function>
-
-<function name="gdk_event_get_time">
-<description>
-Returns the time stamp from @event, if there is one; otherwise
-returns #GDK_CURRENT_TIME. If @event is %NULL, returns #GDK_CURRENT_TIME.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="presentation_time_return">
+<parameter_description> a location to store the next
+candidate presentation time after the given base time.
+0 will be will be stored if no history is present.
 </parameter_description>
 </parameter>
 </parameters>
-<return> time stamp field from @event
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_touch_emulating_pointer">
+<function name="gdk_frame_clock_get_timings">
 <description>
-Extracts whether a touch event is emulating a pointer event.
+Retrieves a #GdkFrameTimings object holding timing information
+for the current frame or a recent frame. The #GdkFrameTimings
+object may not yet be complete: see gdk_frame_timings_get_complete().
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
-<parameter name="emulating">
-<parameter_description> Return location for information
+<parameter name="frame_counter">
+<parameter_description> the frame counter value identifying the frame to
+be received.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> the #GdkFrameTimings object for
+the specified frame, or %NULL if it is not available. See
+gdk_frame_clock_get_history_start().
 </return>
 </function>
 
-<function name="gdk_event_get_touchpad_angle_delta">
+<function name="gdk_frame_clock_request_phase">
 <description>
-Extracts the angle from a touchpad event.
-
+Asks the frame clock to run a particular phase. The signal
+corresponding the requested phase will be emitted the next
+time the frame clock processes. Multiple calls to
+gdk_frame_clock_request_phase() will be combined together
+and only one frame processed. If you are displaying animated
+content and want to continually request the
+%GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time,
+you should use gdk_frame_clock_begin_updating() instead, since
+this allows GTK to adjust system parameters to get maximally
+smooth animations.
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="frame_clock">
+<parameter_description> a #GdkFrameClock
 </parameter_description>
 </parameter>
-<parameter name="delta">
-<parameter_description> Return location for angle
+<parameter name="phase">
+<parameter_description> the phase that is requested
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
-</return>
+<return></return>
 </function>
 
-<function name="gdk_event_get_touchpad_deltas">
+<function name="gdk_frame_timings_get_complete">
 <description>
-Extracts delta information from a touchpad event.
+The timing information in a #GdkFrameTimings is filled in
+incrementally as the frame as drawn and passed off to the
+window system for processing and display to the user. The
+accessor functions for #GdkFrameTimings can return 0 to
+indicate an unavailable value for two reasons: either because
+the information is not yet available, or because it isn't
+available at all. Once gdk_frame_timings_get_complete() returns
+%TRUE for a frame, you can be certain that no further values
+will become available and be stored in the #GdkFrameTimings.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="dx">
-<parameter_description> return location for x
-</parameter_description>
-</parameter>
-<parameter name="dy">
-<parameter_description> return location for y
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> %TRUE if all information that will be available
+for the frame has been filled in.
 </return>
 </function>
 
-<function name="gdk_event_get_touchpad_gesture_n_fingers">
+<function name="gdk_frame_timings_get_frame_counter">
 <description>
-Extracts the number of fingers from a touchpad event.
+Gets the frame counter value of the #GdkFrameClock when this
+this frame was drawn.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="n_fingers">
-<parameter_description> return location for the number of fingers
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> the frame counter value for this frame
 </return>
 </function>
 
-<function name="gdk_event_get_touchpad_gesture_phase">
+<function name="gdk_frame_timings_get_frame_time">
 <description>
-Extracts the touchpad gesture phase from a touchpad event.
+Returns the frame time for the frame. This is the time value
+that is typically used to time animations for the frame. See
+gdk_frame_clock_get_frame_time().
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="phase">
-<parameter_description> Return location for the gesture phase
+<parameter name="timings">
+<parameter_description> A #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> the frame time for the frame, in the timescale
+of g_get_monotonic_time()
 </return>
 </function>
 
-<function name="gdk_event_get_touchpad_scale">
+<function name="gdk_frame_timings_get_predicted_presentation_time">
 <description>
-Extracts the scale from a touchpad event.
+Gets the predicted time at which this frame will be displayed. Although
+no predicted time may be available, if one is available, it will
+be available while the frame is being generated, in contrast to
+gdk_frame_timings_get_presentation_time(), which is only available
+after the frame has been presented. In general, if you are simply
+animating, you should use gdk_frame_clock_get_frame_time() rather
+than this function, but this function is useful for applications
+that want exact control over latency. For example, a movie player
+may want this information for Audio/Video synchronization.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="scale">
-<parameter_description> Return location for scale
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success, otherwise %FALSE
+<return> The predicted time at which the frame will be presented,
+in the timescale of g_get_monotonic_time(), or 0 if no predicted
+presentation time is available.
 </return>
 </function>
 
-<function name="gdk_event_is_scroll_stop_event">
+<function name="gdk_frame_timings_get_presentation_time">
 <description>
-Check whether a scroll event is a stop scroll event. Scroll sequences
-with smooth scroll information may provide a stop scroll event once the
-interaction with the device finishes, e.g. by lifting a finger. This
-stop scroll event is the signal that a widget may trigger kinetic
-scrolling based on the current velocity.
-
-Stop scroll events always have a delta of 0/0.
+Reurns the presentation time. This is the time at which the frame
+became visible to the user.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event is a scroll stop event
+<return> the time the frame was displayed to the user, in the
+timescale of g_get_monotonic_time(), or 0 if no presentation
+time is available. See gdk_frame_timings_get_complete()
 </return>
 </function>
 
-<function name="gdk_event_is_sent">
+<function name="gdk_frame_timings_get_refresh_interval">
 <description>
-Returns whether the event was sent explicitly.
+Gets the natural interval between presentation times for
+the display that this frame was displayed on. Frame presentation
+usually happens during the “vertical blanking interval”.
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event was sent explicitly
+<return> the refresh interval of the display, in microseconds,
+or 0 if the refresh interval is not available.
+See gdk_frame_timings_get_complete().
 </return>
 </function>
 
-<function name="gdk_event_new">
+<function name="gdk_frame_timings_ref">
 <description>
-Creates a new event of the given type. All fields are set to 0.
+Increases the reference count of @timings.
 
 
 </description>
 <parameters>
-<parameter name="type">
-<parameter_description> a #GdkEventType 
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated #GdkEvent. Free with g_object_unref()
+<return> @timings
 </return>
 </function>
 
-<function name="gdk_event_set_device">
+<function name="gdk_frame_timings_unref">
 <description>
-Sets the device for @event to @device. The event must
-have been allocated by GTK+, for instance, by
-gdk_event_copy().
+Decreases the reference count of @timings. If @timings
+is no longer referenced, it will be freed.
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice
+<parameter name="timings">
+<parameter_description> a #GdkFrameTimings
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_event_set_device_tool">
+<function name="gdk_gl_context_clear_current">
 <description>
-Sets the device tool for this event, should be rarely used.
+Clears the current #GdkGLContext.
+
+Any OpenGL call after this function returns will be ignored
+until gdk_gl_context_make_current() is called.
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="tool">
-<parameter_description> tool to set on the event, or %NULL
-</parameter_description>
-</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_event_set_display">
+<function name="gdk_gl_context_get_current">
 <description>
-Sets the display that an event is associated with.
+Retrieves the current #GdkGLContext.
+
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="display">
-<parameter_description> a #GdkDisplay
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> the current #GdkGLContext, or %NULL
+</return>
 </function>
 
-<function name="gdk_event_set_source_device">
+<function name="gdk_gl_context_get_debug_enabled">
 <description>
-Sets the slave device for @event to @device.
+Retrieves the value set using gdk_gl_context_set_debug_enabled().
 
-The event must have been allocated by GTK+,
-for instance by gdk_event_copy().
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if debugging is enabled
+</return>
 </function>
 
-<function name="gdk_event_triggers_context_menu">
+<function name="gdk_gl_context_get_display">
 <description>
-This function returns whether a #GdkEventButton should trigger a
-context menu, according to platform conventions. The right mouse
-button always triggers context menus. Additionally, if
-gdk_keymap_get_modifier_mask() returns a non-0 mask for
-%GDK_MODIFIER_INTENT_CONTEXT_MENU, then the left mouse button will
-also trigger a context menu if this modifier is pressed.
-
-This function should always be used instead of simply checking for
-event-&gt;button == %GDK_BUTTON_SECONDARY.
+Retrieves the #GdkDisplay the @context is created for
 
 
 </description>
 <parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent, currently only button events are meaningful values
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the event should trigger a context menu.
+<return> a #GdkDisplay or %NULL
 </return>
 </function>
 
-<function name="gdk_events_get_angle">
+<function name="gdk_gl_context_get_forward_compatible">
 <description>
-If both events contain X/Y information, this function will return %TRUE
-and return in @angle the relative angle from @event1 to @event2. The rotation
-direction for positive angles is from the positive X axis towards the positive
-Y axis.
+Retrieves the value set using gdk_gl_context_set_forward_compatible().
 
 
 </description>
 <parameters>
-<parameter name="event1">
-<parameter_description> first #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="event2">
-<parameter_description> second #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="angle">
-<parameter_description> return location for the relative angle between both events
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the angle could be calculated.
+<return> %TRUE if the context should be forward compatible
 </return>
 </function>
 
-<function name="gdk_events_get_center">
+<function name="gdk_gl_context_get_required_version">
 <description>
-If both events contain X/Y information, the center of both coordinates
-will be returned in @x and @y.
-
+Retrieves the major and minor version requested by calling
+gdk_gl_context_set_required_version().
 
 </description>
 <parameters>
-<parameter name="event1">
-<parameter_description> first #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="event2">
-<parameter_description> second #GdkEvent
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
-<parameter name="x">
-<parameter_description> return location for the X coordinate of the center
+<parameter name="major">
+<parameter_description> return location for the major version to request
 </parameter_description>
 </parameter>
-<parameter name="y">
-<parameter_description> return location for the Y coordinate of the center
+<parameter name="minor">
+<parameter_description> return location for the minor version to request
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the center could be calculated.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_events_get_distance">
+<function name="gdk_gl_context_get_shared_context">
 <description>
-If both events have X/Y information, the distance between both coordinates
-(as in a straight line going from @event1 to @event2) will be returned.
+Retrieves the #GdkGLContext that this @context share data with.
 
 
 </description>
 <parameters>
-<parameter name="event1">
-<parameter_description> first #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="event2">
-<parameter_description> second #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="distance">
-<parameter_description> return location for the distance
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the distance could be calculated.
+<return> a #GdkGLContext or %NULL
 </return>
 </function>
 
-<function name="gdk_frame_clock_begin_updating">
+<function name="gdk_gl_context_get_surface">
 <description>
-Starts updates for an animation. Until a matching call to
-gdk_frame_clock_end_updating() is made, the frame clock will continually
-request a new frame with the %GDK_FRAME_CLOCK_PHASE_UPDATE phase.
-This function may be called multiple times and frames will be
-requested until gdk_frame_clock_end_updating() is called the same
-number of times.
+Retrieves the #GdkSurface used by the @context.
+
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a #GdkSurface or %NULL
+</return>
 </function>
 
-<function name="gdk_frame_clock_end_updating">
+<function name="gdk_gl_context_get_use_es">
 <description>
-Stops updates for an animation. See the documentation for
-gdk_frame_clock_begin_updating().
+Checks whether the @context is using an OpenGL or OpenGL ES profile.
+
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the #GdkGLContext is using an OpenGL ES profile
+</return>
 </function>
 
-<function name="gdk_frame_clock_get_current_timings">
+<function name="gdk_gl_context_get_version">
 <description>
-Gets the frame timings for the current frame.
+Retrieves the OpenGL version of the @context.
 
+The @context must be realized prior to calling this function.
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
+</parameter_description>
+</parameter>
+<parameter name="major">
+<parameter_description> return location for the major version
+</parameter_description>
+</parameter>
+<parameter name="minor">
+<parameter_description> return location for the minor version
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GdkFrameTimings for the
-frame currently being processed, or even no frame is being
-processed, for the previous frame. Before any frames have been
-processed, returns %NULL.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_frame_clock_get_frame_counter">
+<function name="gdk_gl_context_is_legacy">
 <description>
-A #GdkFrameClock maintains a 64-bit counter that increments for
-each frame drawn.
+Whether the #GdkGLContext is in legacy mode or not.
+
+The #GdkGLContext must be realized before calling this function.
+
+When realizing a GL context, GDK will try to use the OpenGL 3.2 core
+profile; this profile removes all the OpenGL API that was deprecated
+prior to the 3.2 version of the specification. If the realization is
+successful, this function will return %FALSE.
+
+If the underlying OpenGL implementation does not support core profiles,
+GDK will fall back to a pre-3.2 compatibility profile, and this function
+will return %TRUE.
+
+You can use the value returned by this function to decide which kind
+of OpenGL API to use, or whether to do extension discovery, or what
+kind of shader programs to load.
 
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> inside frame processing, the value of the frame counter
-for the current frame. Outside of frame processing, the frame
-counter for the last frame.
+<return> %TRUE if the GL context is in legacy mode
 </return>
 </function>
 
-<function name="gdk_frame_clock_get_frame_time">
+<function name="gdk_gl_context_make_current">
 <description>
-Gets the time that should currently be used for animations.  Inside
-the processing of a frame, it’s the time used to compute the
-animation position of everything in a frame. Outside of a frame, it's
-the time of the conceptual “previous frame,” which may be either
-the actual previous frame time, or if that’s too old, an updated
-time.
-
+Makes the @context the current one.
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
 </parameters>
-<return> a timestamp in microseconds, in the timescale of
-of g_get_monotonic_time().
-</return>
+<return></return>
 </function>
 
-<function name="gdk_frame_clock_get_history_start">
+<function name="gdk_gl_context_realize">
 <description>
-#GdkFrameClock internally keeps a history of #GdkFrameTimings
-objects for recent frames that can be retrieved with
-gdk_frame_clock_get_timings(). The set of stored frames
-is the set from the counter values given by
-gdk_frame_clock_get_history_start() and
-gdk_frame_clock_get_frame_counter(), inclusive.
+Realizes the given #GdkGLContext.
+
+It is safe to call this function on a realized #GdkGLContext.
 
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for a #GError
 </parameter_description>
 </parameter>
 </parameters>
-<return> the frame counter value for the oldest frame
-that is available in the internal frame history of the
-#GdkFrameClock.
+<return> %TRUE if the context is realized
 </return>
 </function>
 
-<function name="gdk_frame_clock_get_refresh_info">
+<function name="gdk_gl_context_set_debug_enabled">
 <description>
-Using the frame history stored in the frame clock, finds the last
-known presentation time and refresh interval, and assuming that
-presentation times are separated by the refresh interval,
-predicts a presentation time that is a multiple of the refresh
-interval after the last presentation time, and later than @base_time.
+Sets whether the #GdkGLContext should perform extra validations and
+run time checking. This is useful during development, but has
+additional overhead.
+
+The #GdkGLContext must not be realized or made current prior to
+calling this function.
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
-</parameter_description>
-</parameter>
-<parameter name="base_time">
-<parameter_description> base time for determining a presentaton time
-</parameter_description>
-</parameter>
-<parameter name="refresh_interval_return">
-<parameter_description> a location to store the
-determined refresh interval, or %NULL. A default refresh interval of
-1/60th of a second will be stored if no history is present.
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
-<parameter name="presentation_time_return">
-<parameter_description> a location to store the next
-candidate presentation time after the given base time.
-0 will be will be stored if no history is present.
+<parameter name="enabled">
+<parameter_description> whether to enable debugging in the context
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_frame_clock_get_timings">
+<function name="gdk_gl_context_set_forward_compatible">
 <description>
-Retrieves a #GdkFrameTimings object holding timing information
-for the current frame or a recent frame. The #GdkFrameTimings
-object may not yet be complete: see gdk_frame_timings_get_complete().
+Sets whether the #GdkGLContext should be forward compatible.
+
+Forward compatibile contexts must not support OpenGL functionality that
+has been marked as deprecated in the requested version; non-forward
+compatible contexts, on the other hand, must support both deprecated and
+non deprecated functionality.
 
+The #GdkGLContext must not be realized or made current prior to calling
+this function.
 
 </description>
 <parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
-<parameter name="frame_counter">
-<parameter_description> the frame counter value identifying the frame to
-be received.
+<parameter name="compatible">
+<parameter_description> whether the context should be forward compatible
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GdkFrameTimings object for
-the specified frame, or %NULL if it is not available. See
-gdk_frame_clock_get_history_start().
-</return>
+<return></return>
 </function>
 
-<function name="gdk_frame_clock_request_phase">
+<function name="gdk_gl_context_set_required_version">
 <description>
-Asks the frame clock to run a particular phase. The signal
-corresponding the requested phase will be emitted the next
-time the frame clock processes. Multiple calls to
-gdk_frame_clock_request_phase() will be combined together
-and only one frame processed. If you are displaying animated
-content and want to continually request the
-%GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time,
-you should use gdk_frame_clock_begin_updating() instead, since
-this allows GTK to adjust system parameters to get maximally
-smooth animations.
+Sets the major and minor version of OpenGL to request.
 
-</description>
-<parameters>
-<parameter name="frame_clock">
-<parameter_description> a #GdkFrameClock
+Setting @major and @minor to zero will use the default values.
+
+The #GdkGLContext must not be realized or made current prior to calling
+this function.
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkGLContext
 </parameter_description>
 </parameter>
-<parameter name="phase">
-<parameter_description> the phase that is requested
+<parameter name="major">
+<parameter_description> the major version to request
+</parameter_description>
+</parameter>
+<parameter name="minor">
+<parameter_description> the minor version to request
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_frame_timings_get_complete">
+<function name="gdk_gl_context_set_use_es">
 <description>
-The timing information in a #GdkFrameTimings is filled in
-incrementally as the frame as drawn and passed off to the
-window system for processing and display to the user. The
-accessor functions for #GdkFrameTimings can return 0 to
-indicate an unavailable value for two reasons: either because
-the information is not yet available, or because it isn't
-available at all. Once gdk_frame_timings_get_complete() returns
-%TRUE for a frame, you can be certain that no further values
-will become available and be stored in the #GdkFrameTimings.
+Requests that GDK create an OpenGL ES context instead of an OpenGL one,
+if the platform and windowing system allows it.
 
+The @context must not have been realized.
+
+By default, GDK will attempt to automatically detect whether the
+underlying GL implementation is OpenGL or OpenGL ES once the @context
+is realized.
+
+You should check the return value of gdk_gl_context_get_use_es() after
+calling gdk_gl_context_realize() to decide whether to use the OpenGL or
+OpenGL ES API, extensions, or shaders.
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="context">
+<parameter_description> a #GdkGLContext:
+</parameter_description>
+</parameter>
+<parameter name="use_es">
+<parameter_description> whether the context should use OpenGL ES instead of OpenGL,
+or -1 to allow auto-detection
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if all information that will be available
-for the frame has been filled in.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_frame_timings_get_frame_counter">
+<function name="gdk_gl_texture_new">
 <description>
-Gets the frame counter value of the #GdkFrameClock when this
-this frame was drawn.
+Creates a new texture for an existing GL texture.
+
+Note that the GL texture must not be modified until @destroy is called,
+which will happen when the GdkTexture object is finalized, or due to
+an explicit call of gdk_gl_texture_release().
 
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="context">
+<parameter_description> a #GdkGLContext
+</parameter_description>
+</parameter>
+<parameter name="id">
+<parameter_description> the ID of a texture that was created with @context
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the nominal width of the texture
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the nominal height of the texture
+</parameter_description>
+</parameter>
+<parameter name="destroy">
+<parameter_description> a destroy notify that will be called when the GL resources
+are released
+</parameter_description>
+</parameter>
+<parameter name="data">
+<parameter_description> data that gets passed to @destroy
 </parameter_description>
 </parameter>
 </parameters>
-<return> the frame counter value for this frame
+<return> A newly-created #GdkTexture
 </return>
 </function>
 
-<function name="gdk_frame_timings_get_frame_time">
+<function name="gdk_gl_texture_release">
 <description>
-Returns the frame time for the frame. This is the time value
-that is typically used to time animations for the frame. See
-gdk_frame_clock_get_frame_time().
+Releases the GL resources held by a #GdkGLTexture that
+was created with gdk_gl_texture_new().
 
+The texture contents are still available via the
+gdk_texture_download() function, after this function
+has been called.
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> A #GdkFrameTimings
+<parameter name="self">
+<parameter_description> a #GdkTexture wrapping a GL texture
 </parameter_description>
 </parameter>
 </parameters>
-<return> the frame time for the frame, in the timescale
-of g_get_monotonic_time()
-</return>
+<return></return>
 </function>
 
-<function name="gdk_frame_timings_get_predicted_presentation_time">
+<function name="gdk_grab_broken_event_get_grab_surface">
 <description>
-Gets the predicted time at which this frame will be displayed. Although
-no predicted time may be available, if one is available, it will
-be available while the frame is being generated, in contrast to
-gdk_frame_timings_get_presentation_time(), which is only available
-after the frame has been presented. In general, if you are simply
-animating, you should use gdk_frame_clock_get_frame_time() rather
-than this function, but this function is useful for applications
-that want exact control over latency. For example, a movie player
-may want this information for Audio/Video synchronization.
+Extracts the grab surface from a grab broken event.
 
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="event">
+<parameter_description> a grab broken event
 </parameter_description>
 </parameter>
 </parameters>
-<return> The predicted time at which the frame will be presented,
-in the timescale of g_get_monotonic_time(), or 0 if no predicted
-presentation time is available.
+<return> the grab surface of @event
 </return>
 </function>
 
-<function name="gdk_frame_timings_get_presentation_time">
+<function name="gdk_intern_mime_type">
 <description>
-Reurns the presentation time. This is the time at which the frame
-became visible to the user.
+Canonicalizes the given mime type and interns the result.
+
+If @string is not a valid mime type, %NULL is returned instead.
+See RFC 2048 for the syntax if mime types.
 
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="string">
+<parameter_description> string of a potential mime type
 </parameter_description>
 </parameter>
 </parameters>
-<return> the time the frame was displayed to the user, in the
-timescale of g_get_monotonic_time(), or 0 if no presentation
-time is available. See gdk_frame_timings_get_complete()
+<return> An interned string for the canonicalized mime type
+or %NULL if the string wasn't a valid mime type
 </return>
 </function>
 
-<function name="gdk_frame_timings_get_refresh_interval">
+<function name="gdk_key_event_get_group">
 <description>
-Gets the natural interval between presentation times for
-the display that this frame was displayed on. Frame presentation
-usually happens during the “vertical blanking interval”.
+Extracts the group from a key event.
 
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="event">
+<parameter_description> a key event
 </parameter_description>
 </parameter>
 </parameters>
-<return> the refresh interval of the display, in microseconds,
-or 0 if the refresh interval is not available.
-See gdk_frame_timings_get_complete().
+<return> the group of @event
 </return>
 </function>
 
-<function name="gdk_frame_timings_ref">
+<function name="gdk_key_event_get_keycode">
 <description>
-Increases the reference count of @timings.
+Extracts the keycode from a key event.
 
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="event">
+<parameter_description> a key event
 </parameter_description>
 </parameter>
 </parameters>
-<return> @timings
+<return> the keycode of @event
 </return>
 </function>
 
-<function name="gdk_frame_timings_unref">
+<function name="gdk_key_event_get_keyval">
 <description>
-Decreases the reference count of @timings. If @timings
-is no longer referenced, it will be freed.
+Extracts the keyval from a key event.
+
 
 </description>
 <parameters>
-<parameter name="timings">
-<parameter_description> a #GdkFrameTimings
+<parameter name="event">
+<parameter_description> a key event
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the keyval of @event
+</return>
 </function>
 
-<function name="gdk_get_show_events">
+<function name="gdk_key_event_get_scancode">
 <description>
-Gets whether event debugging output is enabled.
+Extracts the scancode from a key event.
 
 
 </description>
 <parameters>
+<parameter name="event">
+<parameter_description> a key event
+</parameter_description>
+</parameter>
 </parameters>
-<return> %TRUE if event debugging output is enabled.
+<return> the scancode of @event
 </return>
 </function>
 
-<function name="gdk_gl_context_clear_current">
+<function name="gdk_key_event_is_modifier">
 <description>
-Clears the current #GdkGLContext.
+Extracts whether the key event is for a modifier key.
 
-Any OpenGL call after this function returns will be ignored
-until gdk_gl_context_make_current() is called.
 
 </description>
 <parameters>
+<parameter name="event">
+<parameter_description> a key event
+</parameter_description>
+</parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the @event is for a modifier key
+</return>
 </function>
 
-<function name="gdk_gl_context_get_current">
+<function name="gdk_keymap_add_virtual_modifiers">
 <description>
-Retrieves the current #GdkGLContext.
+Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set
+in @state to the virtual modifiers (i.e. Super, Hyper and Meta) and
+set the corresponding bits in @state.
+
+GDK already does this before delivering key events, but for
+compatibility reasons, it only sets the first virtual modifier
+it finds, whereas this function sets all matching virtual modifiers.
 
+This function is useful when matching key events against
+accelerators.
 
 </description>
 <parameters>
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
+</parameter_description>
+</parameter>
+<parameter name="state">
+<parameter_description> pointer to the modifier mask to change
+</parameter_description>
+</parameter>
 </parameters>
-<return> the current #GdkGLContext, or %NULL
-</return>
+<return></return>
 </function>
 
-<function name="gdk_gl_context_get_debug_enabled">
+<function name="gdk_keymap_get_caps_lock_state">
 <description>
-Retrieves the value set using gdk_gl_context_set_debug_enabled().
+Returns whether the Caps Lock modifer is locked.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if debugging is enabled
+<return> %TRUE if Caps Lock is on
 </return>
 </function>
 
-<function name="gdk_gl_context_get_display">
+<function name="gdk_keymap_get_direction">
 <description>
-Retrieves the #GdkDisplay the @context is created for
+Returns the direction of effective layout of the keymap.
+The direction of a layout is the direction of the majority of its
+symbols. See pango_unichar_direction().
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkDisplay or %NULL
+<return> %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL
+if it can determine the direction. %PANGO_DIRECTION_NEUTRAL
+otherwise.
 </return>
 </function>
 
-<function name="gdk_gl_context_get_forward_compatible">
+<function name="gdk_keymap_get_display">
 <description>
-Retrieves the value set using gdk_gl_context_set_forward_compatible().
+Retrieves the #GdkDisplay associated to the @keymap.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the context should be forward compatible
+<return> a #GdkDisplay
 </return>
 </function>
 
-<function name="gdk_gl_context_get_required_version">
+<function name="gdk_keymap_get_entries_for_keycode">
 <description>
-Retrieves the major and minor version requested by calling
-gdk_gl_context_set_required_version().
+Returns the keyvals bound to @hardware_keycode.
+The Nth #GdkKeymapKey in @keys is bound to the Nth
+keyval in @keyvals. Free the returned arrays with g_free().
+When a keycode is pressed by the user, the keyval from
+this list of entries is selected by considering the effective
+keyboard group and level. See gdk_keymap_translate_keyboard_state().
+
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
-<parameter name="major">
-<parameter_description> return location for the major version to request
+<parameter name="hardware_keycode">
+<parameter_description> a keycode
 </parameter_description>
 </parameter>
-<parameter name="minor">
-<parameter_description> return location for the minor version to request
+<parameter name="keys">
+<parameter_description> return
+location for array of #GdkKeymapKey, or %NULL
 </parameter_description>
 </parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_gl_context_get_shared_context">
-<description>
-Retrieves the #GdkGLContext that this @context share data with.
-
-
-</description>
-<parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keyvals">
+<parameter_description> return
+location for array of keyvals, or %NULL
 </parameter_description>
 </parameter>
-</parameters>
-<return> a #GdkGLContext or %NULL
-</return>
-</function>
-
-<function name="gdk_gl_context_get_surface">
-<description>
-Retrieves the #GdkSurface used by the @context.
-
-
-</description>
-<parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="n_entries">
+<parameter_description> length of @keys and @keyvals
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkSurface or %NULL
+<return> %TRUE if there were any entries
 </return>
 </function>
 
-<function name="gdk_gl_context_get_use_es">
+<function name="gdk_keymap_get_entries_for_keyval">
 <description>
-Checks whether the @context is using an OpenGL or OpenGL ES profile.
+Obtains a list of keycode/group/level combinations that will
+generate @keyval. Groups and levels are two kinds of keyboard mode;
+in general, the level determines whether the top or bottom symbol
+on a key is used, and the group determines whether the left or
+right symbol is used. On US keyboards, the shift key changes the
+keyboard level, and there are no groups. A group switch key might
+convert a keyboard between Hebrew to English modes, for example.
+#GdkEventKey contains a %group field that indicates the active
+keyboard group. The level is computed from the modifier mask.
+The returned array should be freed
+with g_free().
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
-</parameters>
-<return> %TRUE if the #GdkGLContext is using an OpenGL ES profile
-</return>
-</function>
-
-<function name="gdk_gl_context_get_version">
-<description>
-Retrieves the OpenGL version of the @context.
-
-The @context must be realized prior to calling this function.
-
-</description>
-<parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keyval">
+<parameter_description> a keyval, such as %GDK_KEY_a, %GDK_KEY_Up, %GDK_KEY_Return, etc.
 </parameter_description>
 </parameter>
-<parameter name="major">
-<parameter_description> return location for the major version
+<parameter name="keys">
+<parameter_description> return location
+for an array of #GdkKeymapKey
 </parameter_description>
 </parameter>
-<parameter name="minor">
-<parameter_description> return location for the minor version
+<parameter name="n_keys">
+<parameter_description> return location for number of elements in returned array
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if keys were found and returned
+</return>
 </function>
 
-<function name="gdk_gl_context_is_legacy">
+<function name="gdk_keymap_get_modifier_mask">
 <description>
-Whether the #GdkGLContext is in legacy mode or not.
-
-The #GdkGLContext must be realized before calling this function.
-
-When realizing a GL context, GDK will try to use the OpenGL 3.2 core
-profile; this profile removes all the OpenGL API that was deprecated
-prior to the 3.2 version of the specification. If the realization is
-successful, this function will return %FALSE.
-
-If the underlying OpenGL implementation does not support core profiles,
-GDK will fall back to a pre-3.2 compatibility profile, and this function
-will return %TRUE.
+Returns the modifier mask the @keymap’s windowing system backend
+uses for a particular purpose.
 
-You can use the value returned by this function to decide which kind
-of OpenGL API to use, or whether to do extension discovery, or what
-kind of shader programs to load.
+Note that this function always returns real hardware modifiers, not
+virtual ones (e.g. it will return #GDK_MOD1_MASK rather than
+#GDK_META_MASK if the backend maps MOD1 to META), so there are use
+cases where the return value of this function has to be transformed
+by gdk_keymap_add_virtual_modifiers() in order to contain the
+expected result.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
+</parameter_description>
+</parameter>
+<parameter name="intent">
+<parameter_description> the use case for the modifier mask
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the GL context is in legacy mode
+<return> the modifier mask used for @intent.
 </return>
 </function>
 
-<function name="gdk_gl_context_make_current">
+<function name="gdk_keymap_get_modifier_state">
 <description>
-Makes the @context the current one.
+Returns the current modifier state.
+
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the current modifier state.
+</return>
 </function>
 
-<function name="gdk_gl_context_realize">
+<function name="gdk_keymap_get_num_lock_state">
 <description>
-Realizes the given #GdkGLContext.
-
-It is safe to call this function on a realized #GdkGLContext.
+Returns whether the Num Lock modifer is locked.
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> return location for a #GError
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the context is realized
+<return> %TRUE if Num Lock is on
 </return>
 </function>
 
-<function name="gdk_gl_context_set_debug_enabled">
+<function name="gdk_keymap_get_scroll_lock_state">
 <description>
-Sets whether the #GdkGLContext should perform extra validations and
-run time checking. This is useful during development, but has
-additional overhead.
+Returns whether the Scroll Lock modifer is locked.
 
-The #GdkGLContext must not be realized or made current prior to
-calling this function.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
-</parameter_description>
-</parameter>
-<parameter name="enabled">
-<parameter_description> whether to enable debugging in the context
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if Scroll Lock is on
+</return>
 </function>
 
-<function name="gdk_gl_context_set_forward_compatible">
+<function name="gdk_keymap_have_bidi_layouts">
 <description>
-Sets whether the #GdkGLContext should be forward compatible.
-
-Forward compatibile contexts must not support OpenGL functionality that
-has been marked as deprecated in the requested version; non-forward
-compatible contexts, on the other hand, must support both deprecated and
-non deprecated functionality.
+Determines if keyboard layouts for both right-to-left and left-to-right
+languages are in use.
 
-The #GdkGLContext must not be realized or made current prior to calling
-this function.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
-</parameter_description>
-</parameter>
-<parameter name="compatible">
-<parameter_description> whether the context should be forward compatible
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if there are layouts in both directions, %FALSE otherwise
+</return>
 </function>
 
-<function name="gdk_gl_context_set_required_version">
+<function name="gdk_keymap_lookup_key">
 <description>
-Sets the major and minor version of OpenGL to request.
-
-Setting @major and @minor to zero will use the default values.
+Looks up the keyval mapped to a keycode/group/level triplet.
+If no keyval is bound to @key, returns 0. For normal user input,
+you want to use gdk_keymap_translate_keyboard_state() instead of
+this function, since the effective group/level may not be
+the same as the current keyboard state.
 
-The #GdkGLContext must not be realized or made current prior to calling
-this function.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
-</parameter_description>
-</parameter>
-<parameter name="major">
-<parameter_description> the major version to request
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
-<parameter name="minor">
-<parameter_description> the minor version to request
+<parameter name="key">
+<parameter_description> a #GdkKeymapKey with keycode, group, and level initialized
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a keyval, or 0 if none was mapped to the given @key
+</return>
 </function>
 
-<function name="gdk_gl_context_set_use_es">
+<function name="gdk_keymap_map_virtual_modifiers">
 <description>
-Requests that GDK create an OpenGL ES context instead of an OpenGL one,
-if the platform and windowing system allows it.
-
-The @context must not have been realized.
+Maps the virtual modifiers (i.e. Super, Hyper and Meta) which
+are set in @state to their non-virtual counterparts (i.e. Mod2,
+Mod3,...) and set the corresponding bits in @state.
 
-By default, GDK will attempt to automatically detect whether the
-underlying GL implementation is OpenGL or OpenGL ES once the @context
-is realized.
+This function is useful when matching key events against
+accelerators.
 
-You should check the return value of gdk_gl_context_get_use_es() after
-calling gdk_gl_context_realize() to decide whether to use the OpenGL or
-OpenGL ES API, extensions, or shaders.
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext:
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
-<parameter name="use_es">
-<parameter_description> whether the context should use OpenGL ES instead of OpenGL,
-or -1 to allow auto-detection
+<parameter name="state">
+<parameter_description> pointer to the modifier state to map
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %FALSE if two virtual modifiers were mapped to the
+same non-virtual modifier. Note that %FALSE is also returned
+if a virtual modifier is mapped to a non-virtual modifier that
+was already set in @state.
+</return>
 </function>
 
-<function name="gdk_gl_texture_new">
+<function name="gdk_keymap_translate_keyboard_state">
 <description>
-Creates a new texture for an existing GL texture.
-
-Note that the GL texture must not be modified until @destroy is called,
-which will happen when the GdkTexture object is finalized, or due to
-an explicit call of gdk_gl_texture_release().
+Translates the contents of a #GdkEventKey into a keyval, effective
+group, and level. Modifiers that affected the translation and
+are thus unavailable for application use are returned in
+@consumed_modifiers.
+See [Groups][key-group-explanation] for an explanation of
+groups and levels. The @effective_group is the group that was
+actually used for the translation; some keys such as Enter are not
+affected by the active keyboard group. The @level is derived from
+@state. For convenience, #GdkEventKey already contains the translated
+keyval, so this function isn’t as useful as you might think.
+
+@consumed_modifiers gives modifiers that should be masked outfrom @state
+when comparing this key press to a hot key. For instance, on a US keyboard,
+the `plus` symbol is shifted, so when comparing a key press to a
+`&lt;Control&gt;plus` accelerator `&lt;Shift&gt;` should be masked out.
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+// We want to ignore irrelevant modifiers like ScrollLock
+#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
+state = gdk_event_get_modifier_state (event);
+gdk_keymap_translate_keyboard_state (keymap,
+gdk_key_event_get_keycode (event),
+state,
+gdk_key_event_get_group (event),
+&amp;keyval, NULL, NULL, &amp;consumed);
+if (keyval == GDK_PLUS &amp;&amp;
+(state &amp; ~consumed &amp; ALL_ACCELS_MASK) == GDK_CONTROL_MASK)
+// Control was pressed
+]|
+
+An older interpretation @consumed_modifiers was that it contained
+all modifiers that might affect the translation of the key;
+this allowed accelerators to be stored with irrelevant consumed
+modifiers, by doing:
+|[&lt;!-- language=&quot;C&quot; --&gt;
+// XXX Don’t do this XXX
+if (keyval == accel_keyval &amp;&amp;
+(state &amp; ~consumed &amp; ALL_ACCELS_MASK) == (accel_mods &amp; ~consumed))
+// Accelerator was pressed
+]|
+
+However, this did not work if multi-modifier combinations were
+used in the keymap, since, for instance, `&lt;Control&gt;` would be
+masked out even if only `&lt;Control&gt;&lt;Alt&gt;` was used in the keymap.
+To support this usage as well as well as possible, all single
+modifier combinations that could affect the key for any combination
+of modifiers will be returned in @consumed_modifiers; multi-modifier
+combinations are returned only when actually found in @state. When
+you store accelerators, you should always store them with consumed
+modifiers removed. Store `&lt;Control&gt;plus`, not `&lt;Control&gt;&lt;Shift&gt;plus`,
 
 
 </description>
 <parameters>
-<parameter name="context">
-<parameter_description> a #GdkGLContext
+<parameter name="keymap">
+<parameter_description> a #GdkKeymap
 </parameter_description>
 </parameter>
-<parameter name="id">
-<parameter_description> the ID of a texture that was created with @context
+<parameter name="hardware_keycode">
+<parameter_description> a keycode
 </parameter_description>
 </parameter>
-<parameter name="width">
-<parameter_description> the nominal width of the texture
+<parameter name="state">
+<parameter_description> a modifier state
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> the nominal height of the texture
+<parameter name="group">
+<parameter_description> active keyboard group
 </parameter_description>
 </parameter>
-<parameter name="destroy">
-<parameter_description> a destroy notify that will be called when the GL resources
-are released
+<parameter name="keyval">
+<parameter_description> return location for keyval, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="data">
-<parameter_description> data that gets passed to @destroy
+<parameter name="effective_group">
+<parameter_description> return location for effective
+group, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="level">
+<parameter_description> return location for level, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="consumed_modifiers">
+<parameter_description> return location for modifiers
+that were used to determine the group or level, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created #GdkTexture
+<return> %TRUE if there was a keyval bound to the keycode/state/group
 </return>
 </function>
 
-<function name="gdk_gl_texture_release">
+<function name="gdk_keyval_convert_case">
 <description>
-Releases the GL resources held by a #GdkGLTexture that
-was created with gdk_gl_texture_new().
-
-The texture contents are still available via the
-gdk_texture_download() function, after this function
-has been called.
+Obtains the upper- and lower-case versions of the keyval @symbol.
+Examples of keyvals are #GDK_KEY_a, #GDK_KEY_Enter, #GDK_KEY_F1, etc.
 
 </description>
 <parameters>
-<parameter name="self">
-<parameter_description> a #GdkTexture wrapping a GL texture
+<parameter name="symbol">
+<parameter_description> a keyval
+</parameter_description>
+</parameter>
+<parameter name="lower">
+<parameter_description> return location for lowercase version of @symbol
+</parameter_description>
+</parameter>
+<parameter name="upper">
+<parameter_description> return location for uppercase version of @symbol
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_intern_mime_type">
+<function name="gdk_keyval_from_name">
 <description>
-Canonicalizes the given mime type and interns the result.
+Converts a key name to a key value.
 
-If @string is not a valid mime type, %NULL is returned instead.
-See RFC 2048 for the syntax if mime types.
+The names are the same as those in the
+`gdk/gdkkeysyms.h` header file
+but without the leading “GDK_KEY_”.
 
 
 </description>
 <parameters>
-<parameter name="string">
-<parameter_description> string of a potential mime type
+<parameter name="keyval_name">
+<parameter_description> a key name
 </parameter_description>
 </parameter>
 </parameters>
-<return> An interned string for the canonicalized mime type
-or %NULL if the string wasn't a valid mime type
+<return> the corresponding key value, or %GDK_KEY_VoidSymbol
+if the key name is not a valid key
 </return>
 </function>
 
-<function name="gdk_keymap_add_virtual_modifiers">
+<function name="gdk_keyval_is_lower">
 <description>
-Maps the non-virtual modifiers (i.e Mod2, Mod3, ...) which are set
-in @state to the virtual modifiers (i.e. Super, Hyper and Meta) and
-set the corresponding bits in @state.
-
-GDK already does this before delivering key events, but for
-compatibility reasons, it only sets the first virtual modifier
-it finds, whereas this function sets all matching virtual modifiers.
+Returns %TRUE if the given key value is in lower case.
 
-This function is useful when matching key events against
-accelerators.
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> pointer to the modifier mask to change
+<parameter name="keyval">
+<parameter_description> a key value.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if @keyval is in lower case, or if @keyval is not
+subject to case conversion.
+</return>
 </function>
 
-<function name="gdk_keymap_get_caps_lock_state">
+<function name="gdk_keyval_is_upper">
 <description>
-Returns whether the Caps Lock modifer is locked.
+Returns %TRUE if the given key value is in upper case.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="keyval">
+<parameter_description> a key value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if Caps Lock is on
+<return> %TRUE if @keyval is in upper case, or if @keyval is not subject to
+case conversion.
 </return>
 </function>
 
-<function name="gdk_keymap_get_direction">
+<function name="gdk_keyval_name">
 <description>
-Returns the direction of effective layout of the keymap.
-The direction of a layout is the direction of the majority of its
-symbols. See pango_unichar_direction().
+Converts a key value into a symbolic name.
+
+The names are the same as those in the
+`gdk/gdkkeysyms.h` header file
+but without the leading “GDK_KEY_”.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="keyval">
+<parameter_description> a key value
 </parameter_description>
 </parameter>
 </parameters>
-<return> %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL
-if it can determine the direction. %PANGO_DIRECTION_NEUTRAL
-otherwise.
+<return> a string containing the name
+of the key, or %NULL if @keyval is not a valid key. The string
+should not be modified.
 </return>
 </function>
 
-<function name="gdk_keymap_get_display">
+<function name="gdk_keyval_to_lower">
 <description>
-Retrieves the #GdkDisplay associated to the @keymap.
+Converts a key value to lower case, if applicable.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="keyval">
+<parameter_description> a key value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkDisplay
+<return> the lower case form of @keyval, or @keyval itself if it is already
+in lower case or it is not subject to case conversion.
 </return>
 </function>
 
-<function name="gdk_keymap_get_entries_for_keycode">
+<function name="gdk_keyval_to_unicode">
 <description>
-Returns the keyvals bound to @hardware_keycode.
-The Nth #GdkKeymapKey in @keys is bound to the Nth
-keyval in @keyvals. Free the returned arrays with g_free().
-When a keycode is pressed by the user, the keyval from
-this list of entries is selected by considering the effective
-keyboard group and level. See gdk_keymap_translate_keyboard_state().
+Convert from a GDK key symbol to the corresponding ISO10646 (Unicode)
+character.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="hardware_keycode">
-<parameter_description> a keycode
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> return
-location for array of #GdkKeymapKey, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="keyvals">
-<parameter_description> return
-location for array of keyvals, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="n_entries">
-<parameter_description> length of @keys and @keyvals
+<parameter name="keyval">
+<parameter_description> a GDK key symbol 
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if there were any entries
+<return> the corresponding unicode character, or 0 if there
+is no corresponding character.
 </return>
 </function>
 
-<function name="gdk_keymap_get_entries_for_keyval">
+<function name="gdk_keyval_to_upper">
 <description>
-Obtains a list of keycode/group/level combinations that will
-generate @keyval. Groups and levels are two kinds of keyboard mode;
-in general, the level determines whether the top or bottom symbol
-on a key is used, and the group determines whether the left or
-right symbol is used. On US keyboards, the shift key changes the
-keyboard level, and there are no groups. A group switch key might
-convert a keyboard between Hebrew to English modes, for example.
-#GdkEventKey contains a %group field that indicates the active
-keyboard group. The level is computed from the modifier mask.
-The returned array should be freed
-with g_free().
+Converts a key value to upper case, if applicable.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
 <parameter name="keyval">
-<parameter_description> a keyval, such as %GDK_KEY_a, %GDK_KEY_Up, %GDK_KEY_Return, etc.
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> return location
-for an array of #GdkKeymapKey
-</parameter_description>
-</parameter>
-<parameter name="n_keys">
-<parameter_description> return location for number of elements in returned array
+<parameter_description> a key value.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if keys were found and returned
+<return> the upper case form of @keyval, or @keyval itself if it is already
+in upper case or it is not subject to case conversion.
 </return>
 </function>
 
-<function name="gdk_keymap_get_modifier_mask">
+<function name="gdk_memory_texture_new">
 <description>
-Returns the modifier mask the @keymap’s windowing system backend
-uses for a particular purpose.
-
-Note that this function always returns real hardware modifiers, not
-virtual ones (e.g. it will return #GDK_MOD1_MASK rather than
-#GDK_META_MASK if the backend maps MOD1 to META), so there are use
-cases where the return value of this function has to be transformed
-by gdk_keymap_add_virtual_modifiers() in order to contain the
-expected result.
+Creates a new texture for a blob of image data.
+The #GBytes must contain @stride x @height pixels
+in the given format.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="width">
+<parameter_description> the width of the texture
 </parameter_description>
 </parameter>
-<parameter name="intent">
-<parameter_description> the use case for the modifier mask
+<parameter name="height">
+<parameter_description> the height of the texture
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> the format of the data
+</parameter_description>
+</parameter>
+<parameter name="bytes">
+<parameter_description> the #GBytes containing the pixel data
+</parameter_description>
+</parameter>
+<parameter name="stride">
+<parameter_description> rowstride for the data
 </parameter_description>
 </parameter>
 </parameters>
-<return> the modifier mask used for @intent.
+<return> A newly-created #GdkTexture
 </return>
 </function>
 
-<function name="gdk_keymap_get_modifier_state">
+<function name="gdk_monitor_get_connector">
 <description>
-Returns the current modifier state.
+Gets the name of the monitor's connector, if available.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> the current modifier state.
+<return> the name of the connector
 </return>
 </function>
 
-<function name="gdk_keymap_get_num_lock_state">
+<function name="gdk_monitor_get_display">
 <description>
-Returns whether the Num Lock modifer is locked.
+Gets the display that this monitor belongs to.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if Num Lock is on
+<return> the display
 </return>
 </function>
 
-<function name="gdk_keymap_get_scroll_lock_state">
+<function name="gdk_monitor_get_geometry">
 <description>
-Returns whether the Scroll Lock modifer is locked.
-
+Retrieves the size and position of an individual monitor within the
+display coordinate space. The returned geometry is in  ”application pixels”,
+not in ”device pixels” (see gdk_monitor_get_scale_factor()).
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
+</parameter_description>
+</parameter>
+<parameter name="geometry">
+<parameter_description> a #GdkRectangle to be filled with the monitor geometry
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if Scroll Lock is on
-</return>
+<return></return>
 </function>
 
-<function name="gdk_keymap_have_bidi_layouts">
+<function name="gdk_monitor_get_height_mm">
 <description>
-Determines if keyboard layouts for both right-to-left and left-to-right
-languages are in use.
+Gets the height in millimeters of the monitor.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if there are layouts in both directions, %FALSE otherwise
+<return> the physical height of the monitor
 </return>
 </function>
 
-<function name="gdk_keymap_lookup_key">
+<function name="gdk_monitor_get_manufacturer">
 <description>
-Looks up the keyval mapped to a keycode/group/level triplet.
-If no keyval is bound to @key, returns 0. For normal user input,
-you want to use gdk_keymap_translate_keyboard_state() instead of
-this function, since the effective group/level may not be
-the same as the current keyboard state.
+Gets the name or PNP ID of the monitor's manufacturer, if available.
+
+Note that this value might also vary depending on actual
+display backend.
+
+PNP ID registry is located at https://uefi.org/pnp_id_list
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a #GdkKeymapKey with keycode, group, and level initialized
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> a keyval, or 0 if none was mapped to the given @key
+<return> the name of the manufacturer, or %NULL
 </return>
 </function>
 
-<function name="gdk_keymap_map_virtual_modifiers">
+<function name="gdk_monitor_get_model">
 <description>
-Maps the virtual modifiers (i.e. Super, Hyper and Meta) which
-are set in @state to their non-virtual counterparts (i.e. Mod2,
-Mod3,...) and set the corresponding bits in @state.
-
-This function is useful when matching key events against
-accelerators.
+Gets the a string identifying the monitor model, if available.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> pointer to the modifier state to map
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> %FALSE if two virtual modifiers were mapped to the
-same non-virtual modifier. Note that %FALSE is also returned
-if a virtual modifier is mapped to a non-virtual modifier that
-was already set in @state.
+<return> the monitor model, or %NULL
 </return>
 </function>
 
-<function name="gdk_keymap_translate_keyboard_state">
+<function name="gdk_monitor_get_refresh_rate">
 <description>
-Translates the contents of a #GdkEventKey into a keyval, effective
-group, and level. Modifiers that affected the translation and
-are thus unavailable for application use are returned in
-@consumed_modifiers.
-See [Groups][key-group-explanation] for an explanation of
-groups and levels. The @effective_group is the group that was
-actually used for the translation; some keys such as Enter are not
-affected by the active keyboard group. The @level is derived from
-@state. For convenience, #GdkEventKey already contains the translated
-keyval, so this function isn’t as useful as you might think.
-
-@consumed_modifiers gives modifiers that should be masked outfrom @state
-when comparing this key press to a hot key. For instance, on a US keyboard,
-the `plus` symbol is shifted, so when comparing a key press to a
-`&lt;Control&gt;plus` accelerator `&lt;Shift&gt;` should be masked out.
-
-|[&lt;!-- language=&quot;C&quot; --&gt;
-// We want to ignore irrelevant modifiers like ScrollLock
-#define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK)
-gdk_keymap_translate_keyboard_state (keymap, event-&gt;hardware_keycode,
-event-&gt;state, event-&gt;group,
-&amp;keyval, NULL, NULL, &amp;consumed);
-if (keyval == GDK_PLUS &amp;&amp;
-(event-&gt;state &amp; ~consumed &amp; ALL_ACCELS_MASK) == GDK_CONTROL_MASK)
-// Control was pressed
-]|
-
-An older interpretation @consumed_modifiers was that it contained
-all modifiers that might affect the translation of the key;
-this allowed accelerators to be stored with irrelevant consumed
-modifiers, by doing:
-|[&lt;!-- language=&quot;C&quot; --&gt;
-// XXX Don’t do this XXX
-if (keyval == accel_keyval &amp;&amp;
-(event-&gt;state &amp; ~consumed &amp; ALL_ACCELS_MASK) == (accel_mods &amp; ~consumed))
-// Accelerator was pressed
-]|
+Gets the refresh rate of the monitor, if available.
 
-However, this did not work if multi-modifier combinations were
-used in the keymap, since, for instance, `&lt;Control&gt;` would be
-masked out even if only `&lt;Control&gt;&lt;Alt&gt;` was used in the keymap.
-To support this usage as well as well as possible, all single
-modifier combinations that could affect the key for any combination
-of modifiers will be returned in @consumed_modifiers; multi-modifier
-combinations are returned only when actually found in @state. When
-you store accelerators, you should always store them with consumed
-modifiers removed. Store `&lt;Control&gt;plus`, not `&lt;Control&gt;&lt;Shift&gt;plus`,
+The value is in milli-Hertz, so a refresh rate of 60Hz
+is returned as 60000.
 
 
 </description>
 <parameters>
-<parameter name="keymap">
-<parameter_description> a #GdkKeymap
-</parameter_description>
-</parameter>
-<parameter name="hardware_keycode">
-<parameter_description> a keycode
-</parameter_description>
-</parameter>
-<parameter name="state">
-<parameter_description> a modifier state
-</parameter_description>
-</parameter>
-<parameter name="group">
-<parameter_description> active keyboard group
-</parameter_description>
-</parameter>
-<parameter name="keyval">
-<parameter_description> return location for keyval, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="effective_group">
-<parameter_description> return location for effective
-group, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="level">
-<parameter_description> return location for level, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="consumed_modifiers">
-<parameter_description> return location for modifiers
-that were used to determine the group or level, or %NULL
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if there was a keyval bound to the keycode/state/group
+<return> the refresh rate in milli-Hertz, or 0
 </return>
 </function>
 
-<function name="gdk_keyval_convert_case">
+<function name="gdk_monitor_get_scale_factor">
 <description>
-Obtains the upper- and lower-case versions of the keyval @symbol.
-Examples of keyvals are #GDK_KEY_a, #GDK_KEY_Enter, #GDK_KEY_F1, etc.
+Gets the internal scale factor that maps from monitor coordinates
+to the actual device pixels. On traditional systems this is 1, but
+on very high density outputs this can be a higher value (often 2).
+
+This can be used if you want to create pixel based data for a
+particular monitor, but most of the time you’re drawing to a surface
+where it is better to use gdk_surface_get_scale_factor() instead.
+
 
 </description>
 <parameters>
-<parameter name="symbol">
-<parameter_description> a keyval
-</parameter_description>
-</parameter>
-<parameter name="lower">
-<parameter_description> return location for lowercase version of @symbol
-</parameter_description>
-</parameter>
-<parameter name="upper">
-<parameter_description> return location for uppercase version of @symbol
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the scale factor
+</return>
 </function>
 
-<function name="gdk_keyval_from_name">
+<function name="gdk_monitor_get_subpixel_layout">
 <description>
-Converts a key name to a key value.
-
-The names are the same as those in the
-`gdk/gdkkeysyms.h` header file
-but without the leading “GDK_KEY_”.
+Gets information about the layout of red, green and blue
+primaries for each pixel in this monitor, if available.
 
 
 </description>
 <parameters>
-<parameter name="keyval_name">
-<parameter_description> a key name
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> the corresponding key value, or %GDK_KEY_VoidSymbol
-if the key name is not a valid key
+<return> the subpixel layout
 </return>
 </function>
 
-<function name="gdk_keyval_is_lower">
+<function name="gdk_monitor_get_width_mm">
 <description>
-Returns %TRUE if the given key value is in lower case.
+Gets the width in millimeters of the monitor.
 
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a key value.
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @keyval is in lower case, or if @keyval is not
-subject to case conversion.
+<return> the physical width of the monitor
 </return>
 </function>
 
-<function name="gdk_keyval_is_upper">
+<function name="gdk_monitor_get_workarea">
 <description>
-Returns %TRUE if the given key value is in upper case.
+Retrieves the size and position of the “work area” on a monitor
+within the display coordinate space. The returned geometry is in
+”application pixels”, not in ”device pixels” (see
+gdk_monitor_get_scale_factor()).
+
+The work area should be considered when positioning menus and
+similar popups, to avoid placing them below panels, docks or other
+desktop components.
 
+Note that not all backends may have a concept of workarea. This
+function will return the monitor geometry if a workarea is not
+available, or does not apply.
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a key value.
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
+</parameter_description>
+</parameter>
+<parameter name="workarea">
+<parameter_description> a #GdkRectangle to be filled with
+the monitor workarea
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @keyval is in upper case, or if @keyval is not subject to
-case conversion.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_keyval_name">
+<function name="gdk_monitor_is_valid">
 <description>
-Converts a key value into a symbolic name.
-
-The names are the same as those in the
-`gdk/gdkkeysyms.h` header file
-but without the leading “GDK_KEY_”.
+Returns %TRUE if the @monitor object corresponds to a
+physical monitor. The @monitor becomes invalid when the
+physical monitor is unplugged or removed.
 
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a key value
+<parameter name="monitor">
+<parameter_description> a #GdkMonitor
 </parameter_description>
 </parameter>
 </parameters>
-<return> a string containing the name
-of the key, or %NULL if @keyval is not a valid key. The string
-should not be modified.
+<return> %TRUE if the object corresponds to a physical monitor
 </return>
 </function>
 
-<function name="gdk_keyval_to_lower">
+<function name="gdk_pad_axis_event_get_value">
 <description>
-Converts a key value to lower case, if applicable.
-
+Extracts the information from a pad strip or ring event.
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a key value.
+<parameter name="event">
+<parameter_description> a pad strip or ring event
+</parameter_description>
+</parameter>
+<parameter name="index">
+<parameter_description> Return location for the axis index
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> Return location for the axis value
 </parameter_description>
 </parameter>
 </parameters>
-<return> the lower case form of @keyval, or @keyval itself if it is already
-in lower case or it is not subject to case conversion.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_keyval_to_unicode">
+<function name="gdk_pad_button_event_get_button">
 <description>
-Convert from a GDK key symbol to the corresponding ISO10646 (Unicode)
-character.
+Extracts information about the pressed button from
+a pad event.
 
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a GDK key symbol 
+<parameter name="event">
+<parameter_description> a pad button event
 </parameter_description>
 </parameter>
 </parameters>
-<return> the corresponding unicode character, or 0 if there
-is no corresponding character.
+<return> the button of @event
 </return>
 </function>
 
-<function name="gdk_keyval_to_upper">
+<function name="gdk_pad_event_get_group_mode">
 <description>
-Converts a key value to upper case, if applicable.
-
+Extracts group and mode information from a pad event.
 
 </description>
 <parameters>
-<parameter name="keyval">
-<parameter_description> a key value.
+<parameter name="event">
+<parameter_description> a pad event
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> return location for the group
+</parameter_description>
+</parameter>
+<parameter name="mode">
+<parameter_description> return location for the mode
 </parameter_description>
 </parameter>
 </parameters>
-<return> the upper case form of @keyval, or @keyval itself if it is already
-in upper case or it is not subject to case conversion.
-</return>
+<return></return>
 </function>
 
-<function name="gdk_memory_texture_new">
+<function name="gdk_paintable_compute_concrete_size">
 <description>
-Creates a new texture for a blob of image data.
-The #GBytes must contain @stride x @height pixels
-in the given format.
+Applies the sizing algorithm outlined in 
+https://drafts.csswg.org/css-images-3/#default-sizing
+to the given @paintable. See that link for more details.
 
+It is not necessary to call this function when both @specified_width
+and @specified_height are known, but it is useful to call this
+function in GtkWidget:measure implementations to compute the
+other dimension when only one dimension is given.
 
 </description>
 <parameters>
-<parameter name="width">
-<parameter_description> the width of the texture
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> the height of the texture
+<parameter name="specified_width">
+<parameter_description> the width @paintable could be drawn into or
+0.0 if unknown
 </parameter_description>
 </parameter>
-<parameter name="format">
-<parameter_description> the format of the data
+<parameter name="specified_height">
+<parameter_description> the height @paintable could be drawn into or
+0.0 if unknown
 </parameter_description>
 </parameter>
-<parameter name="bytes">
-<parameter_description> the #GBytes containing the pixel data
+<parameter name="default_width">
+<parameter_description> the width @paintable would be drawn into if
+no other constraints were given
 </parameter_description>
 </parameter>
-<parameter name="stride">
-<parameter_description> rowstride for the data
+<parameter name="default_height">
+<parameter_description> the height @paintable would be drawn into if
+no other constraints were given
+</parameter_description>
+</parameter>
+<parameter name="concrete_width">
+<parameter_description> will be set to the concrete width
+computed.
+</parameter_description>
+</parameter>
+<parameter name="concrete_height">
+<parameter_description> will be set to the concrete height
+computed.
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created #GdkTexture
-</return>
+<return></return>
 </function>
 
-<function name="gdk_monitor_get_connector">
+<function name="gdk_paintable_get_current_image">
 <description>
-Gets the name of the monitor's connector, if available.
+Gets an immutable paintable for the current contents displayed by @paintable.
+
+This is useful when you want to retain the current state of an animation, for
+example to take a screenshot of a running animation.
+
+If the @paintable is already immutable, it will return itself.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the name of the connector
+<return> An immutable paintable for the current
+contents of @paintable.
 </return>
 </function>
 
-<function name="gdk_monitor_get_display">
+<function name="gdk_paintable_get_flags">
 <description>
-Gets the display that this monitor belongs to.
+Get flags for the paintable. This is oftentimes useful for optimizations.
+
+See #GdkPaintableFlags for the flags and what they mean.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the display
+<return> The #GdkPaintableFlags for this paintable.
 </return>
 </function>
 
-<function name="gdk_monitor_get_geometry">
+<function name="gdk_paintable_get_intrinsic_aspect_ratio">
 <description>
-Retrieves the size and position of an individual monitor within the
-display coordinate space. The returned geometry is in  ”application pixels”,
-not in ”device pixels” (see gdk_monitor_get_scale_factor()).
+Gets the preferred aspect ratio the @paintable would like to be displayed at.
+The aspect ration is the width divided by the height, so a value of 0.5 means
+that the @paintable prefers to be displayed twice as high as it is wide.
+Consumers of this interface can use this to preserve aspect ratio when displaying
+this paintable.
 
-</description>
-<parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
-</parameter_description>
-</parameter>
-<parameter name="geometry">
-<parameter_description> a #GdkRectangle to be filled with the monitor geometry
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
+This is a purely informational value and does not in any way limit the values
+that may be passed to gdk_paintable_snapshot().
 
-<function name="gdk_monitor_get_height_mm">
-<description>
-Gets the height in millimeters of the monitor.
+Usually when a @paintable returns non-0 values from
+gdk_paintable_get_intrinsic_width() and gdk_paintable_get_intrinsic_height()
+the aspect ratio should conform to those values, though that is not required.
+
+If the @paintable does not have a preferred aspect ratio, it returns 0.0.
+Negative values are never returned.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the physical height of the monitor
+<return> the intrinsic aspect ratio of @paintable or 0.0 if none.
 </return>
 </function>
 
-<function name="gdk_monitor_get_manufacturer">
+<function name="gdk_paintable_get_intrinsic_height">
 <description>
-Gets the name or PNP ID of the monitor's manufacturer, if available.
+Gets the preferred height the @paintable would like to be displayed at.
+Consumers of this interface can use this to reserve enough space to draw
+the paintable.
 
-Note that this value might also vary depending on actual
-display backend.
+This is a purely informational value and does not in any way limit the values
+that may be passed to gdk_paintable_snapshot().
 
-PNP ID registry is located at https://uefi.org/pnp_id_list
+If the @paintable does not have a preferred height, it returns 0. Negative
+values are never returned.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the name of the manufacturer, or %NULL
+<return> the intrinsic height of @paintable or 0 if none.
 </return>
 </function>
 
-<function name="gdk_monitor_get_model">
+<function name="gdk_paintable_get_intrinsic_width">
 <description>
-Gets the a string identifying the monitor model, if available.
+Gets the preferred width the @paintable would like to be displayed at.
+Consumers of this interface can use this to reserve enough space to draw
+the paintable.
+
+This is a purely informational value and does not in any way limit the values
+that may be passed to gdk_paintable_snapshot().
+
+If the @paintable does not have a preferred width, it returns 0. Negative
+values are never returned.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the monitor model, or %NULL
+<return> the intrinsic width of @paintable or 0 if none.
 </return>
 </function>
 
-<function name="gdk_monitor_get_refresh_rate">
+<function name="gdk_paintable_invalidate_contents">
 <description>
-Gets the refresh rate of the monitor, if available.
+Called by implementations of #GdkPaintable to invalidate their contents.  
+Unless the contents are invalidated, implementations must guarantee that
+multiple calls to GdkPaintable::snapshot produce the same output.
 
-The value is in milli-Hertz, so a refresh rate of 60Hz
-is returned as 60000.
+This function will emit the GdkPaintable::invalidate-contents signal.
 
+If a @paintable reports the %GDK_PAINTABLE_STATIC_CONTENTS flag,
+it must not call this function.
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the refresh rate in milli-Hertz, or 0
-</return>
+<return></return>
 </function>
 
-<function name="gdk_monitor_get_scale_factor">
+<function name="gdk_paintable_invalidate_size">
 <description>
-Gets the internal scale factor that maps from monitor coordinates
-to the actual device pixels. On traditional systems this is 1, but
-on very high density outputs this can be a higher value (often 2).
+Called by implementations of #GdkPaintable to invalidate their size.  
+As long as the size is not invalidated, @paintable must return the same values
+for its width, height and intrinsic height.
 
-This can be used if you want to create pixel based data for a
-particular monitor, but most of the time you’re drawing to a surface
-where it is better to use gdk_surface_get_scale_factor() instead.
+This function will emit the GdkPaintable::invalidate-size signal.
 
+If a @paintable reports the %GDK_PAINTABLE_STATIC_SIZE flag,
+it must not call this function.
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
 </parameters>
-<return> the scale factor
-</return>
+<return></return>
 </function>
 
-<function name="gdk_monitor_get_subpixel_layout">
+<function name="gdk_paintable_new_empty">
 <description>
-Gets information about the layout of red, green and blue
-primaries for each pixel in this monitor, if available.
+Returns a paintable that has the given intrinsic size and draws nothing.
+This is often useful for implementing the GdkPaintableClass:get_current_image()
+virtual function when the paintable is in an incomplete state (like a
+#GtkMediaStream before receiving the first frame).
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="intrinsic_width">
+<parameter_description> The intrinsic width to report. Can be 0 for no width.
 </parameter_description>
 </parameter>
-</parameters>
-<return> the subpixel layout
-</return>
-</function>
-
-<function name="gdk_monitor_get_width_mm">
-<description>
-Gets the width in millimeters of the monitor.
-
-
-</description>
-<parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="intrinsic_height">
+<parameter_description> The intrinsic height to report. Can be 0 for no height.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the physical width of the monitor
+<return> a #GdkPaintable
 </return>
 </function>
 
-<function name="gdk_monitor_get_workarea">
+<function name="gdk_paintable_snapshot">
 <description>
-Retrieves the size and position of the “work area” on a monitor
-within the display coordinate space. The returned geometry is in
-”application pixels”, not in ”device pixels” (see
-gdk_monitor_get_scale_factor()).
-
-The work area should be considered when positioning menus and
-similar popups, to avoid placing them below panels, docks or other
-desktop components.
-
-Note that not all backends may have a concept of workarea. This
-function will return the monitor geometry if a workarea is not
-available, or does not apply.
+Snapshots the given paintable with the given @width and @height at the
+current (0,0) offset of the @snapshot. If @width and @height are not larger
+than zero, this function will do nothing.
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="paintable">
+<parameter_description> a #GdkPaintable
 </parameter_description>
 </parameter>
-<parameter name="workarea">
-<parameter_description> a #GdkRectangle to be filled with
-the monitor workarea
+<parameter name="snapshot">
+<parameter_description> a #GdkSnapshot to snapshot to
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> width to snapshot in
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> height to snapshot in
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_monitor_is_valid">
+<function name="gdk_pango_layout_get_clip_region">
 <description>
-Returns %TRUE if the @monitor object corresponds to a
-physical monitor. The @monitor becomes invalid when the
-physical monitor is unplugged or removed.
+Obtains a clip region which contains the areas where the given ranges
+of text would be drawn. @x_origin and @y_origin are the top left point
+to center the layout. @index_ranges should contain
+ranges of bytes in the layout’s text.
+
+Note that the regions returned correspond to logical extents of the text
+ranges, not ink extents. So the drawn layout may in fact touch areas out of
+the clip region.  The clip region is mainly useful for highlightling parts
+of text, such as when text is selected.
 
 
 </description>
 <parameters>
-<parameter name="monitor">
-<parameter_description> a #GdkMonitor
+<parameter name="layout">
+<parameter_description> a #PangoLayout 
+</parameter_description>
+</parameter>
+<parameter name="x_origin">
+<parameter_description> X pixel where you intend to draw the layout with this clip
+</parameter_description>
+</parameter>
+<parameter name="y_origin">
+<parameter_description> Y pixel where you intend to draw the layout with this clip
+</parameter_description>
+</parameter>
+<parameter name="index_ranges">
+<parameter_description> array of byte indexes into the layout, where even members of array are start indexes 
and odd elements are end indexes
+</parameter_description>
+</parameter>
+<parameter name="n_ranges">
+<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the object corresponds to a physical monitor
+<return> a clip region containing the given ranges
 </return>
 </function>
 
-<function name="gdk_paintable_compute_concrete_size">
+<function name="gdk_pango_layout_line_get_clip_region">
 <description>
-Applies the sizing algorithm outlined in 
-https://drafts.csswg.org/css-images-3/#default-sizing
-to the given @paintable. See that link for more details.
+Obtains a clip region which contains the areas where the given
+ranges of text would be drawn. @x_origin and @y_origin are the top left
+position of the layout. @index_ranges
+should contain ranges of bytes in the layout’s text. The clip
+region will include space to the left or right of the line (to the
+layout bounding box) if you have indexes above or below the indexes
+contained inside the line. This is to draw the selection all the way
+to the side of the layout. However, the clip region is in line coordinates,
+not layout coordinates.
+
+Note that the regions returned correspond to logical extents of the text
+ranges, not ink extents. So the drawn line may in fact touch areas out of
+the clip region.  The clip region is mainly useful for highlightling parts
+of text, such as when text is selected.
 
-It is not necessary to call this function when both @specified_width
-and @specified_height are known, but it is useful to call this
-function in GtkWidget:measure implementations to compute the
-other dimension when only one dimension is given.
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
-</parameter_description>
-</parameter>
-<parameter name="specified_width">
-<parameter_description> the width @paintable could be drawn into or
-0.0 if unknown
-</parameter_description>
-</parameter>
-<parameter name="specified_height">
-<parameter_description> the height @paintable could be drawn into or
-0.0 if unknown
+<parameter name="line">
+<parameter_description> a #PangoLayoutLine 
 </parameter_description>
 </parameter>
-<parameter name="default_width">
-<parameter_description> the width @paintable would be drawn into if
-no other constraints were given
+<parameter name="x_origin">
+<parameter_description> X pixel where you intend to draw the layout line with this clip
 </parameter_description>
 </parameter>
-<parameter name="default_height">
-<parameter_description> the height @paintable would be drawn into if
-no other constraints were given
+<parameter name="y_origin">
+<parameter_description> baseline pixel where you intend to draw the layout line with this clip
 </parameter_description>
 </parameter>
-<parameter name="concrete_width">
-<parameter_description> will be set to the concrete width
-computed.
+<parameter name="index_ranges">
+<parameter_description> array of byte indexes into the layout,
+where even members of array are start indexes and odd elements
+are end indexes
 </parameter_description>
 </parameter>
-<parameter name="concrete_height">
-<parameter_description> will be set to the concrete height
-computed.
+<parameter name="n_ranges">
+<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a clip region containing the given ranges
+</return>
 </function>
 
-<function name="gdk_paintable_get_current_image">
+<function name="gdk_pipe_io_stream_new">
 <description>
-Gets an immutable paintable for the current contents displayed by @paintable.
-
-This is useful when you want to retain the current state of an animation, for
-example to take a screenshot of a running animation.
+Creates a #GIOStream whose input- and output-stream behave like a pipe.
+Data written into the output stream becomes available for reading on
+the input stream.
 
-If the @paintable is already immutable, it will return itself.
+Note that this is data transfer in the opposite direction to
+g_output_stream_splice().
 
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
-</parameter_description>
-</parameter>
 </parameters>
-<return> An immutable paintable for the current
-contents of @paintable.
+<return> a new #GIOStream
 </return>
 </function>
 
-<function name="gdk_paintable_get_flags">
+<function name="gdk_pixbuf_add_alpha">
 <description>
-Get flags for the paintable. This is oftentimes useful for optimizations.
+Takes an existing pixbuf and adds an alpha channel to it.
+If the existing pixbuf already had an alpha channel, the channel
+values are copied from the original; otherwise, the alpha channel
+is initialized to 255 (full opacity).
 
-See #GdkPaintableFlags for the flags and what they mean.
+If @substitute_color is %TRUE, then the color specified by (@r, @g, @b) will be
+assigned zero opacity. That is, if you pass (255, 255, 255) for the
+substitute color, all white pixels will become fully transparent.
 
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="pixbuf">
+<parameter_description> A #GdkPixbuf.
+</parameter_description>
+</parameter>
+<parameter name="substitute_color">
+<parameter_description> Whether to set a color to zero opacity.  If this
+is %FALSE, then the (@r, @g, @b) arguments will be ignored.
+</parameter_description>
+</parameter>
+<parameter name="r">
+<parameter_description> Red value to substitute.
+</parameter_description>
+</parameter>
+<parameter name="g">
+<parameter_description> Green value to substitute.
+</parameter_description>
+</parameter>
+<parameter name="b">
+<parameter_description> Blue value to substitute.
 </parameter_description>
 </parameter>
 </parameters>
-<return> The #GdkPaintableFlags for this paintable.
+<return> A newly-created pixbuf with a reference count of 1.
 </return>
 </function>
 
-<function name="gdk_paintable_get_intrinsic_aspect_ratio">
+<function name="gdk_pixbuf_animation_get_height">
 <description>
-Gets the preferred aspect ratio the @paintable would like to be displayed at.
-The aspect ration is the width divided by the height, so a value of 0.5 means
-that the @paintable prefers to be displayed twice as high as it is wide.
-Consumers of this interface can use this to preserve aspect ratio when displaying
-this paintable.
-
-This is a purely informational value and does not in any way limit the values
-that may be passed to gdk_paintable_snapshot().
-
-Usually when a @paintable returns non-0 values from
-gdk_paintable_get_intrinsic_width() and gdk_paintable_get_intrinsic_height()
-the aspect ratio should conform to those values, though that is not required.
-
-If the @paintable does not have a preferred aspect ratio, it returns 0.0.
-Negative values are never returned.
+Queries the height of the bounding box of a pixbuf animation.
 
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="animation">
+<parameter_description> An animation.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the intrinsic aspect ratio of @paintable or 0.0 if none.
+<return> Height of the bounding box of the animation.
 </return>
 </function>
 
-<function name="gdk_paintable_get_intrinsic_height">
+<function name="gdk_pixbuf_animation_get_iter">
 <description>
-Gets the preferred height the @paintable would like to be displayed at.
-Consumers of this interface can use this to reserve enough space to draw
-the paintable.
+Get an iterator for displaying an animation. The iterator provides
+the frames that should be displayed at a given time. It should be
+freed after use with g_object_unref().
 
-This is a purely informational value and does not in any way limit the values
-that may be passed to gdk_paintable_snapshot().
+@start_time would normally come from g_get_current_time(), and marks
+the beginning of animation playback. After creating an iterator, you
+should immediately display the pixbuf returned by
+gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install
+a timeout (with g_timeout_add()) or by some other mechanism ensure
+that you'll update the image after
+gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time
+the image is updated, you should reinstall the timeout with the new,
+possibly-changed delay time.
 
-If the @paintable does not have a preferred height, it returns 0. Negative
-values are never returned.
+As a shortcut, if @start_time is %NULL, the result of
+g_get_current_time() will be used automatically.
+
+To update the image (i.e. possibly change the result of
+gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation),
+call gdk_pixbuf_animation_iter_advance().
+
+If you're using #GdkPixbufLoader, in addition to updating the image
+after the delay time, you should also update it whenever you
+receive the area_updated signal and
+gdk_pixbuf_animation_iter_on_currently_loading_frame() returns
+%TRUE. In this case, the frame currently being fed into the loader
+has received new data, so needs to be refreshed. The delay time for
+a frame may also be modified after an area_updated signal, for
+example if the delay time for a frame is encoded in the data after
+the frame itself. So your timeout should be reinstalled after any
+area_updated signal.
+
+A delay time of -1 is possible, indicating &quot;infinite.&quot;
 
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
+</parameter_description>
+</parameter>
+<parameter name="start_time">
+<parameter_description> time when the animation starts playing
 </parameter_description>
 </parameter>
 </parameters>
-<return> the intrinsic height of @paintable or 0 if none.
+<return> an iterator to move over the animation
 </return>
 </function>
 
-<function name="gdk_paintable_get_intrinsic_width">
+<function name="gdk_pixbuf_animation_get_static_image">
 <description>
-Gets the preferred width the @paintable would like to be displayed at.
-Consumers of this interface can use this to reserve enough space to draw
-the paintable.
-
-This is a purely informational value and does not in any way limit the values
-that may be passed to gdk_paintable_snapshot().
-
-If the @paintable does not have a preferred width, it returns 0. Negative
-values are never returned.
+If an animation is really just a plain image (has only one frame),
+this function returns that image. If the animation is an animation,
+this function returns a reasonable thing to display as a static
+unanimated image, which might be the first frame, or something more
+sophisticated. If an animation hasn't loaded any frames yet, this
+function will return %NULL.
 
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
 </parameter_description>
 </parameter>
 </parameters>
-<return> the intrinsic width of @paintable or 0 if none.
+<return> unanimated image representing the animation
 </return>
 </function>
 
-<function name="gdk_paintable_invalidate_contents">
+<function name="gdk_pixbuf_animation_get_width">
 <description>
-Called by implementations of #GdkPaintable to invalidate their contents.  
-Unless the contents are invalidated, implementations must guarantee that
-multiple calls to GdkPaintable::snapshot produce the same output.
-
-This function will emit the GdkPaintable::invalidate-contents signal.
+Queries the width of the bounding box of a pixbuf animation.
 
-If a @paintable reports the %GDK_PAINTABLE_STATIC_CONTENTS flag,
-it must not call this function.
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="animation">
+<parameter_description> An animation.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> Width of the bounding box of the animation.
+</return>
 </function>
 
-<function name="gdk_paintable_invalidate_size">
+<function name="gdk_pixbuf_animation_is_static_image">
 <description>
-Called by implementations of #GdkPaintable to invalidate their size.  
-As long as the size is not invalidated, @paintable must return the same values
-for its width, height and intrinsic height.
-
-This function will emit the GdkPaintable::invalidate-size signal.
+If you load a file with gdk_pixbuf_animation_new_from_file() and it
+turns out to be a plain, unanimated image, then this function will
+return %TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve
+the image.
 
-If a @paintable reports the %GDK_PAINTABLE_STATIC_SIZE flag,
-it must not call this function.
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
+<parameter name="animation">
+<parameter_description> a #GdkPixbufAnimation
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the &quot;animation&quot; was really just an image
+</return>
 </function>
 
-<function name="gdk_paintable_new_empty">
+<function name="gdk_pixbuf_animation_iter_advance">
 <description>
-Returns a paintable that has the given intrinsic size and draws nothing.
-This is often useful for implementing the GdkPaintableClass:get_current_image()
-virtual function when the paintable is in an incomplete state (like a
-#GtkMediaStream before receiving the first frame).
+Possibly advances an animation to a new frame. Chooses the frame based
+on the start time passed to gdk_pixbuf_animation_get_iter().
+
+@current_time would normally come from g_get_current_time(), and
+must be greater than or equal to the time passed to
+gdk_pixbuf_animation_get_iter(), and must increase or remain
+unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is
+called. That is, you can't go backward in time; animations only
+play forward.
+
+As a shortcut, pass %NULL for the current time and g_get_current_time()
+will be invoked on your behalf. So you only need to explicitly pass
+@current_time if you're doing something odd like playing the animation
+at double speed.
+
+If this function returns %FALSE, there's no need to update the animation
+display, assuming the display had been rendered prior to advancing;
+if %TRUE, you need to call gdk_pixbuf_animation_iter_get_pixbuf()
+and update the display with the new pixbuf.
 
 
 </description>
 <parameters>
-<parameter name="intrinsic_width">
-<parameter_description> The intrinsic width to report. Can be 0 for no width.
+<parameter name="iter">
+<parameter_description> a #GdkPixbufAnimationIter
 </parameter_description>
 </parameter>
-<parameter name="intrinsic_height">
-<parameter_description> The intrinsic height to report. Can be 0 for no height.
+<parameter name="current_time">
+<parameter_description> current time
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkPaintable
+<return> %TRUE if the image may need updating
 </return>
 </function>
 
-<function name="gdk_paintable_snapshot">
+<function name="gdk_pixbuf_animation_iter_get_delay_time">
 <description>
-Snapshots the given paintable with the given @width and @height at the
-current (0,0) offset of the @snapshot. If @width and @height are not larger
-than zero, this function will do nothing.
+Gets the number of milliseconds the current pixbuf should be displayed,
+or -1 if the current pixbuf should be displayed forever. g_timeout_add()
+conveniently takes a timeout in milliseconds, so you can use a timeout
+to schedule the next update.
+
+Note that some formats, like GIF, might clamp the timeout values in the
+image file to avoid updates that are just too quick. The minimum timeout
+for GIF images is currently 20 milliseconds.
+
 
 </description>
 <parameters>
-<parameter name="paintable">
-<parameter_description> a #GdkPaintable
-</parameter_description>
-</parameter>
-<parameter name="snapshot">
-<parameter_description> a #GdkSnapshot to snapshot to
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> width to snapshot in
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> height to snapshot in
+<parameter name="iter">
+<parameter_description> an animation iterator
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> delay time in milliseconds (thousandths of a second)
+</return>
 </function>
 
-<function name="gdk_pango_layout_get_clip_region">
+<function name="gdk_pixbuf_animation_iter_get_pixbuf">
 <description>
-Obtains a clip region which contains the areas where the given ranges
-of text would be drawn. @x_origin and @y_origin are the top left point
-to center the layout. @index_ranges should contain
-ranges of bytes in the layout’s text.
-
-Note that the regions returned correspond to logical extents of the text
-ranges, not ink extents. So the drawn layout may in fact touch areas out of
-the clip region.  The clip region is mainly useful for highlightling parts
-of text, such as when text is selected.
+Gets the current pixbuf which should be displayed; the pixbuf might not
+be the same size as the animation itself
+(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()).
+This pixbuf should be displayed for
+gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller
+of this function does not own a reference to the returned pixbuf;
+the returned pixbuf will become invalid when the iterator advances
+to the next frame, which may happen anytime you call
+gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it
+(don't just add a reference), as it may get recycled as you advance
+the iterator.
 
 
 </description>
 <parameters>
-<parameter name="layout">
-<parameter_description> a #PangoLayout 
-</parameter_description>
-</parameter>
-<parameter name="x_origin">
-<parameter_description> X pixel where you intend to draw the layout with this clip
-</parameter_description>
-</parameter>
-<parameter name="y_origin">
-<parameter_description> Y pixel where you intend to draw the layout with this clip
-</parameter_description>
-</parameter>
-<parameter name="index_ranges">
-<parameter_description> array of byte indexes into the layout, where even members of array are start indexes 
and odd elements are end indexes
-</parameter_description>
-</parameter>
-<parameter name="n_ranges">
-<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
+<parameter name="iter">
+<parameter_description> an animation iterator
 </parameter_description>
 </parameter>
 </parameters>
-<return> a clip region containing the given ranges
+<return> the pixbuf to be displayed
 </return>
 </function>
 
-<function name="gdk_pango_layout_line_get_clip_region">
+<function name="gdk_pixbuf_animation_iter_on_currently_loading_frame">
 <description>
-Obtains a clip region which contains the areas where the given
-ranges of text would be drawn. @x_origin and @y_origin are the top left
-position of the layout. @index_ranges
-should contain ranges of bytes in the layout’s text. The clip
-region will include space to the left or right of the line (to the
-layout bounding box) if you have indexes above or below the indexes
-contained inside the line. This is to draw the selection all the way
-to the side of the layout. However, the clip region is in line coordinates,
-not layout coordinates.
-
-Note that the regions returned correspond to logical extents of the text
-ranges, not ink extents. So the drawn line may in fact touch areas out of
-the clip region.  The clip region is mainly useful for highlightling parts
-of text, such as when text is selected.
+Used to determine how to respond to the area_updated signal on
+#GdkPixbufLoader when loading an animation. area_updated is emitted
+for an area of the frame currently streaming in to the loader. So if
+you're on the currently loading frame, you need to redraw the screen for
+the updated area.
 
 
 </description>
 <parameters>
-<parameter name="line">
-<parameter_description> a #PangoLayoutLine 
-</parameter_description>
-</parameter>
-<parameter name="x_origin">
-<parameter_description> X pixel where you intend to draw the layout line with this clip
-</parameter_description>
-</parameter>
-<parameter name="y_origin">
-<parameter_description> baseline pixel where you intend to draw the layout line with this clip
+<parameter name="iter">
+<parameter_description> a #GdkPixbufAnimationIter
 </parameter_description>
 </parameter>
-<parameter name="index_ranges">
-<parameter_description> array of byte indexes into the layout,
-where even members of array are start indexes and odd elements
-are end indexes
+</parameters>
+<return> %TRUE if the frame we're on is partially loaded, or the last frame
+</return>
+</function>
+
+<function name="gdk_pixbuf_animation_new_from_file">
+<description>
+Creates a new animation by loading it from a file. The file format is
+detected automatically. If the file's format does not support multi-frame
+images, then an animation with a single frame will be created. Possible errors
+are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+
+
+</description>
+<parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file
+name encoding
 </parameter_description>
 </parameter>
-<parameter name="n_ranges">
-<parameter_description> number of ranges in @index_ranges, i.e. half the size of @index_ranges
+<parameter name="error">
+<parameter_description> return location for error
 </parameter_description>
 </parameter>
 </parameters>
-<return> a clip region containing the given ranges
+<return> A newly-created animation with a reference count of 1, or %NULL
+if any of several error conditions ocurred:  the file could not be opened,
+there was no loader for the file's format, there was not enough memory to
+allocate the image buffer, or the image file contained invalid data.
 </return>
 </function>
 
-<function name="gdk_pipe_io_stream_new">
+<function name="gdk_pixbuf_animation_new_from_file_utf8">
 <description>
-Creates a #GIOStream whose input- and output-stream behave like a pipe.
-Data written into the output stream becomes available for reading on
-the input stream.
-
-Note that this is data transfer in the opposite direction to
-g_output_stream_splice().
+Same as gdk_pixbuf_animation_new_from_file()
 
 
 </description>
 <parameters>
+<parameter name="filename">
+<parameter_description> Name of file to load, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
 </parameters>
-<return> a new #GIOStream
+<return> A newly-created animation with a reference count of 1, or %NULL
+if any of several error conditions ocurred:  the file could not be opened,
+there was no loader for the file's format, there was not enough memory to
+allocate the image buffer, or the image file contained invalid data.
 </return>
 </function>
 
-<function name="gdk_pixbuf_add_alpha">
+<function name="gdk_pixbuf_animation_new_from_resource">
 <description>
-Takes an existing pixbuf and adds an alpha channel to it.
-If the existing pixbuf already had an alpha channel, the channel
-values are copied from the original; otherwise, the alpha channel
-is initialized to 255 (full opacity).
+Creates a new pixbuf animation by loading an image from an resource.
 
-If @substitute_color is %TRUE, then the color specified by (@r, @g, @b) will be
-assigned zero opacity. That is, if you pass (255, 255, 255) for the
-substitute color, all white pixels will become fully transparent.
+The file format is detected automatically. If %NULL is returned, then
+@error will be set.
 
+Since: 2.28
 
 </description>
 <parameters>
-<parameter name="pixbuf">
-<parameter_description> A #GdkPixbuf.
-</parameter_description>
-</parameter>
-<parameter name="substitute_color">
-<parameter_description> Whether to set a color to zero opacity.  If this
-is %FALSE, then the (@r, @g, @b) arguments will be ignored.
-</parameter_description>
-</parameter>
-<parameter name="r">
-<parameter_description> Red value to substitute.
-</parameter_description>
-</parameter>
-<parameter name="g">
-<parameter_description> Green value to substitute.
+<parameter name="resource_path">
+<parameter_description> the path of the resource file
 </parameter_description>
 </parameter>
-<parameter name="b">
-<parameter_description> Blue value to substitute.
+<parameter name="error">
+<parameter_description> Return location for an error
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created pixbuf with a reference count of 1.
+<return> A newly-created animation, or %NULL if any of several error
+conditions occurred: the file could not be opened, the image format is
+not supported, there was not enough memory to allocate the image buffer,
+the stream contained invalid data, or the operation was cancelled.
+
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_get_height">
+<function name="gdk_pixbuf_animation_new_from_stream">
 <description>
-Queries the height of the bounding box of a pixbuf animation.
+Creates a new animation by loading it from an input stream.
+
+The file format is detected automatically. If %NULL is returned, then
+@error will be set. The @cancellable can be used to abort the operation
+from another thread. If the operation was cancelled, the error
+%G_IO_ERROR_CANCELLED will be returned. Other possible errors are in
+the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains.
+
+The stream is not closed.
 
+Since: 2.28
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> An animation.
+<parameter name="stream">
+<parameter_description>  a #GInputStream to load the pixbuf from
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> optional #GCancellable object, %NULL to ignore
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for an error
 </parameter_description>
 </parameter>
 </parameters>
-<return> Height of the bounding box of the animation.
+<return> A newly-created pixbuf, or %NULL if any of several error
+conditions occurred: the file could not be opened, the image format is
+not supported, there was not enough memory to allocate the image buffer,
+the stream contained invalid data, or the operation was cancelled.
+
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_get_iter">
+<function name="gdk_pixbuf_animation_new_from_stream_async">
 <description>
-Get an iterator for displaying an animation. The iterator provides
-the frames that should be displayed at a given time. It should be
-freed after use with g_object_unref().
-
-@start_time would normally come from g_get_current_time(), and marks
-the beginning of animation playback. After creating an iterator, you
-should immediately display the pixbuf returned by
-gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install
-a timeout (with g_timeout_add()) or by some other mechanism ensure
-that you'll update the image after
-gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time
-the image is updated, you should reinstall the timeout with the new,
-possibly-changed delay time.
-
-As a shortcut, if @start_time is %NULL, the result of
-g_get_current_time() will be used automatically.
-
-To update the image (i.e. possibly change the result of
-gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation),
-call gdk_pixbuf_animation_iter_advance().
+Creates a new animation by asynchronously loading an image from an input stream.
 
-If you're using #GdkPixbufLoader, in addition to updating the image
-after the delay time, you should also update it whenever you
-receive the area_updated signal and
-gdk_pixbuf_animation_iter_on_currently_loading_frame() returns
-%TRUE. In this case, the frame currently being fed into the loader
-has received new data, so needs to be refreshed. The delay time for
-a frame may also be modified after an area_updated signal, for
-example if the delay time for a frame is encoded in the data after
-the frame itself. So your timeout should be reinstalled after any
-area_updated signal.
+For more details see gdk_pixbuf_new_from_stream(), which is the synchronous
+version of this function.
 
-A delay time of -1 is possible, indicating &quot;infinite.&quot;
+When the operation is finished, @callback will be called in the main thread.
+You can then call gdk_pixbuf_animation_new_from_stream_finish() to get the
+result of the operation.
 
+Since: 2.28
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> a #GdkPixbufAnimation
+<parameter name="stream">
+<parameter_description> a #GInputStream from which to load the animation
 </parameter_description>
 </parameter>
-<parameter name="start_time">
-<parameter_description> time when the animation starts playing
+<parameter name="cancellable">
+<parameter_description> optional #GCancellable object, %NULL to ignore
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a #GAsyncReadyCallback to call when the pixbuf is loaded
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the data to pass to the callback function
 </parameter_description>
 </parameter>
 </parameters>
-<return> an iterator to move over the animation
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixbuf_animation_get_static_image">
+<function name="gdk_pixbuf_animation_new_from_stream_finish">
 <description>
-If an animation is really just a plain image (has only one frame),
-this function returns that image. If the animation is an animation,
-this function returns a reasonable thing to display as a static
-unanimated image, which might be the first frame, or something more
-sophisticated. If an animation hasn't loaded any frames yet, this
-function will return %NULL.
+Finishes an asynchronous pixbuf animation creation operation started with
+gdk_pixbuf_animation_new_from_stream_async().
 
+Since: 2.28
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> a #GdkPixbufAnimation
+<parameter name="async_result">
+<parameter_description> a #GAsyncResult
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or %NULL
 </parameter_description>
 </parameter>
 </parameters>
-<return> unanimated image representing the animation
+<return> a #GdkPixbufAnimation or %NULL on error. Free the returned
+object with g_object_unref().
+
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_get_width">
+<function name="gdk_pixbuf_animation_ref">
 <description>
-Queries the width of the bounding box of a pixbuf animation.
+Adds a reference to an animation.
 
+Deprecated: 2.0: Use g_object_ref().
 
 </description>
 <parameters>
@@ -10767,541 +10654,224 @@ Queries the width of the bounding box of a pixbuf animation.
 </parameter_description>
 </parameter>
 </parameters>
-<return> Width of the bounding box of the animation.
+<return> The same as the @animation argument.
+
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_is_static_image">
+<function name="gdk_pixbuf_animation_unref">
 <description>
-If you load a file with gdk_pixbuf_animation_new_from_file() and it
-turns out to be a plain, unanimated image, then this function will
-return %TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve
-the image.
+Removes a reference from an animation.
 
+Deprecated: 2.0: Use g_object_unref().
 
 </description>
 <parameters>
 <parameter name="animation">
-<parameter_description> a #GdkPixbufAnimation
+<parameter_description> An animation.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the &quot;animation&quot; was really just an image
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixbuf_animation_iter_advance">
+<function name="gdk_pixbuf_apply_embedded_orientation">
 <description>
-Possibly advances an animation to a new frame. Chooses the frame based
-on the start time passed to gdk_pixbuf_animation_get_iter().
-
-@current_time would normally come from g_get_current_time(), and
-must be greater than or equal to the time passed to
-gdk_pixbuf_animation_get_iter(), and must increase or remain
-unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is
-called. That is, you can't go backward in time; animations only
-play forward.
-
-As a shortcut, pass %NULL for the current time and g_get_current_time()
-will be invoked on your behalf. So you only need to explicitly pass
-@current_time if you're doing something odd like playing the animation
-at double speed.
-
-If this function returns %FALSE, there's no need to update the animation
-display, assuming the display had been rendered prior to advancing;
-if %TRUE, you need to call gdk_pixbuf_animation_iter_get_pixbuf()
-and update the display with the new pixbuf.
+Takes an existing pixbuf and checks for the presence of an
+associated &quot;orientation&quot; option, which may be provided by the 
+jpeg loader (which reads the exif orientation tag) or the 
+tiff loader (which reads the tiff orientation tag, and
+compensates it for the partial transforms performed by 
+libtiff). If an orientation option/tag is present, the
+appropriate transform will be performed so that the pixbuf
+is oriented correctly.
 
+Since: 2.12
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #GdkPixbufAnimationIter
-</parameter_description>
-</parameter>
-<parameter name="current_time">
-<parameter_description> current time
+<parameter name="src">
+<parameter_description> A #GdkPixbuf.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the image may need updating
+<return> A newly-created pixbuf, %NULL if
+not enough memory could be allocated for it, or a reference to the
+input pixbuf (with an increased reference count).
+
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_iter_get_delay_time">
+<function name="gdk_pixbuf_buffer_queue_clear">
 <description>
-Gets the number of milliseconds the current pixbuf should be displayed,
-or -1 if the current pixbuf should be displayed forever. g_timeout_add()
-conveniently takes a timeout in milliseconds, so you can use a timeout
-to schedule the next update.
-
-Note that some formats, like GIF, might clamp the timeout values in the
-image file to avoid updates that are just too quick. The minimum timeout
-for GIF images is currently 20 milliseconds.
-
+Resets @queue into to initial state. All buffers it contains will be 
+released and the offset will be reset to 0.
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> an animation iterator
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 </parameters>
-<return> delay time in milliseconds (thousandths of a second)
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixbuf_animation_iter_get_pixbuf">
+<function name="gdk_pixbuf_buffer_queue_flush">
 <description>
-Gets the current pixbuf which should be displayed; the pixbuf might not
-be the same size as the animation itself
-(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()).
-This pixbuf should be displayed for
-gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller
-of this function does not own a reference to the returned pixbuf;
-the returned pixbuf will become invalid when the iterator advances
-to the next frame, which may happen anytime you call
-gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it
-(don't just add a reference), as it may get recycled as you advance
-the iterator.
-
+Removes the first @n_bytes bytes from the queue.
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> an animation iterator
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
+</parameter_description>
+</parameter>
+<parameter name="n_bytes">
+<parameter_description> amount of bytes to flush from the queue
 </parameter_description>
 </parameter>
 </parameters>
-<return> the pixbuf to be displayed
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixbuf_animation_iter_on_currently_loading_frame">
+<function name="gdk_pixbuf_buffer_queue_get_offset">
 <description>
-Used to determine how to respond to the area_updated signal on
-#GdkPixbufLoader when loading an animation. area_updated is emitted
-for an area of the frame currently streaming in to the loader. So if
-you're on the currently loading frame, you need to redraw the screen for
-the updated area.
+Queries the amount of bytes that has already been pulled out of
+@queue using functions like gdk_pixbuf_buffer_queue_pull().
 
 
 </description>
 <parameters>
-<parameter name="iter">
-<parameter_description> a #GdkPixbufAnimationIter
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the frame we're on is partially loaded, or the last frame
+<return> Number of bytes that were already pulled from this queue.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_file">
+<function name="gdk_pixbuf_buffer_queue_get_size">
 <description>
-Creates a new animation by loading it from a file. The file format is
-detected automatically. If the file's format does not support multi-frame
-images, then an animation with a single frame will be created. Possible errors
-are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains.
+Returns the number of bytes currently in @queue.
 
 
 </description>
 <parameters>
-<parameter name="filename">
-<parameter_description> Name of file to load, in the GLib file
-name encoding
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> return location for error
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created animation with a reference count of 1, or %NULL
-if any of several error conditions ocurred:  the file could not be opened,
-there was no loader for the file's format, there was not enough memory to
-allocate the image buffer, or the image file contained invalid data.
+<return> amount of bytes in @queue.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_file_utf8">
+<function name="gdk_pixbuf_buffer_queue_new">
 <description>
-Same as gdk_pixbuf_animation_new_from_file()
+Creates a new empty buffer queue.
 
 
 </description>
 <parameters>
-<parameter name="filename">
-<parameter_description> Name of file to load, in the GLib file name encoding
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> return location for error
-</parameter_description>
-</parameter>
 </parameters>
-<return> A newly-created animation with a reference count of 1, or %NULL
-if any of several error conditions ocurred:  the file could not be opened,
-there was no loader for the file's format, there was not enough memory to
-allocate the image buffer, or the image file contained invalid data.
+<return> a new buffer queue. Use gdk_pixbuf_buffer_queue_unref () to free it.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_resource">
+<function name="gdk_pixbuf_buffer_queue_peek">
 <description>
-Creates a new pixbuf animation by loading an image from an resource.
-
-The file format is detected automatically. If %NULL is returned, then
-@error will be set.
+Creates a new buffer with the first @length bytes from @queue, but unlike 
+gdk_pixbuf_buffer_queue_pull(), does not remove them from @queue.
 
-Since: 2.28
 
 </description>
 <parameters>
-<parameter name="resource_path">
-<parameter_description> the path of the resource file
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue to read from
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> Return location for an error
+<parameter name="length">
+<parameter_description> amount of bytes to peek
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created animation, or %NULL if any of several error
-conditions occurred: the file could not be opened, the image format is
-not supported, there was not enough memory to allocate the image buffer,
-the stream contained invalid data, or the operation was cancelled.
-
+<return> NULL if the requested amount of data wasn't available or a new 
+#GBytes. Use g_bytes_unref() after use.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_stream">
+<function name="gdk_pixbuf_buffer_queue_peek_buffer">
 <description>
-Creates a new animation by loading it from an input stream.
-
-The file format is detected automatically. If %NULL is returned, then
-@error will be set. The @cancellable can be used to abort the operation
-from another thread. If the operation was cancelled, the error
-%G_IO_ERROR_CANCELLED will be returned. Other possible errors are in
-the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains.
-
-The stream is not closed.
+Gets the first buffer out of @queue and returns it. This function is 
+equivalent to calling gdk_pixbuf_buffer_queue_peek() with the size of the
+first buffer in it.
 
-Since: 2.28
 
 </description>
 <parameters>
-<parameter name="stream">
-<parameter_description>  a #GInputStream to load the pixbuf from
-</parameter_description>
-</parameter>
-<parameter name="cancellable">
-<parameter_description> optional #GCancellable object, %NULL to ignore
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> Return location for an error
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly-created pixbuf, or %NULL if any of several error
-conditions occurred: the file could not be opened, the image format is
-not supported, there was not enough memory to allocate the image buffer,
-the stream contained invalid data, or the operation was cancelled.
-
+<return> The first buffer in @queue or %NULL if @queue is empty. Use 
+g_bytes_unref() after use.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_stream_async">
+<function name="gdk_pixbuf_buffer_queue_pull">
 <description>
-Creates a new animation by asynchronously loading an image from an input stream.
-
-For more details see gdk_pixbuf_new_from_stream(), which is the synchronous
-version of this function.
-
-When the operation is finished, @callback will be called in the main thread.
-You can then call gdk_pixbuf_animation_new_from_stream_finish() to get the
-result of the operation.
+If enough data is still available in @queue, the first @length bytes are 
+put into a new buffer and that buffer is returned. The @length bytes are
+removed from the head of the queue. If not enough data is available, %NULL
+is returned.
 
-Since: 2.28
 
 </description>
 <parameters>
-<parameter name="stream">
-<parameter_description> a #GInputStream from which to load the animation
-</parameter_description>
-</parameter>
-<parameter name="cancellable">
-<parameter_description> optional #GCancellable object, %NULL to ignore
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> a #GAsyncReadyCallback to call when the pixbuf is loaded
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
-<parameter name="user_data">
-<parameter_description> the data to pass to the callback function
+<parameter name="length">
+<parameter_description> amount of bytes to pull
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a new #GBytes or %NULL
+</return>
 </function>
 
-<function name="gdk_pixbuf_animation_new_from_stream_finish">
+<function name="gdk_pixbuf_buffer_queue_pull_buffer">
 <description>
-Finishes an asynchronous pixbuf animation creation operation started with
-gdk_pixbuf_animation_new_from_stream_async().
+Pulls the first buffer out of @queue and returns it. This function is 
+equivalent to calling gdk_pixbuf_buffer_queue_pull() with the size of the
+first buffer in it.
 
-Since: 2.28
 
 </description>
 <parameters>
-<parameter name="async_result">
-<parameter_description> a #GAsyncResult
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or %NULL
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkPixbufAnimation or %NULL on error. Free the returned
-object with g_object_unref().
-
+<return> The first buffer in @queue or %NULL if @queue is empty.
 </return>
 </function>
 
-<function name="gdk_pixbuf_animation_ref">
+<function name="gdk_pixbuf_buffer_queue_push">
 <description>
-Adds a reference to an animation.
-
-Deprecated: 2.0: Use g_object_ref().
+Appends the given @bytes to the buffers already in @queue. This function
+will take ownership of the given @buffer. Use g_bytes_ref () before
+calling this function to keep a reference.
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> An animation.
-</parameter_description>
-</parameter>
-</parameters>
-<return> The same as the @animation argument.
-
-</return>
-</function>
-
-<function name="gdk_pixbuf_animation_unref">
-<description>
-Removes a reference from an animation.
-
-Deprecated: 2.0: Use g_object_unref().
-
-</description>
-<parameters>
-<parameter name="animation">
-<parameter_description> An animation.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_pixbuf_apply_embedded_orientation">
-<description>
-Takes an existing pixbuf and checks for the presence of an
-associated &quot;orientation&quot; option, which may be provided by the 
-jpeg loader (which reads the exif orientation tag) or the 
-tiff loader (which reads the tiff orientation tag, and
-compensates it for the partial transforms performed by 
-libtiff). If an orientation option/tag is present, the
-appropriate transform will be performed so that the pixbuf
-is oriented correctly.
-
-Since: 2.12
-
-</description>
-<parameters>
-<parameter name="src">
-<parameter_description> A #GdkPixbuf.
-</parameter_description>
-</parameter>
-</parameters>
-<return> A newly-created pixbuf, %NULL if
-not enough memory could be allocated for it, or a reference to the
-input pixbuf (with an increased reference count).
-
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_clear">
-<description>
-Resets @queue into to initial state. All buffers it contains will be 
-released and the offset will be reset to 0.
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_flush">
-<description>
-Removes the first @n_bytes bytes from the queue.
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-<parameter name="n_bytes">
-<parameter_description> amount of bytes to flush from the queue
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_get_offset">
-<description>
-Queries the amount of bytes that has already been pulled out of
-@queue using functions like gdk_pixbuf_buffer_queue_pull().
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-</parameters>
-<return> Number of bytes that were already pulled from this queue.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_get_size">
-<description>
-Returns the number of bytes currently in @queue.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-</parameters>
-<return> amount of bytes in @queue.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_new">
-<description>
-Creates a new empty buffer queue.
-
-
-</description>
-<parameters>
-</parameters>
-<return> a new buffer queue. Use gdk_pixbuf_buffer_queue_unref () to free it.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_peek">
-<description>
-Creates a new buffer with the first @length bytes from @queue, but unlike 
-gdk_pixbuf_buffer_queue_pull(), does not remove them from @queue.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue to read from
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> amount of bytes to peek
-</parameter_description>
-</parameter>
-</parameters>
-<return> NULL if the requested amount of data wasn't available or a new 
-#GBytes. Use g_bytes_unref() after use.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_peek_buffer">
-<description>
-Gets the first buffer out of @queue and returns it. This function is 
-equivalent to calling gdk_pixbuf_buffer_queue_peek() with the size of the
-first buffer in it.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-</parameters>
-<return> The first buffer in @queue or %NULL if @queue is empty. Use 
-g_bytes_unref() after use.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_pull">
-<description>
-If enough data is still available in @queue, the first @length bytes are 
-put into a new buffer and that buffer is returned. The @length bytes are
-removed from the head of the queue. If not enough data is available, %NULL
-is returned.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> amount of bytes to pull
-</parameter_description>
-</parameter>
-</parameters>
-<return> a new #GBytes or %NULL
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_pull_buffer">
-<description>
-Pulls the first buffer out of @queue and returns it. This function is 
-equivalent to calling gdk_pixbuf_buffer_queue_pull() with the size of the
-first buffer in it.
-
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
-</parameter_description>
-</parameter>
-</parameters>
-<return> The first buffer in @queue or %NULL if @queue is empty.
-</return>
-</function>
-
-<function name="gdk_pixbuf_buffer_queue_push">
-<description>
-Appends the given @bytes to the buffers already in @queue. This function
-will take ownership of the given @buffer. Use g_bytes_ref () before
-calling this function to keep a reference.
-
-</description>
-<parameters>
-<parameter name="queue">
-<parameter_description> a #GdkPixbufBufferQueue
+<parameter name="queue">
+<parameter_description> a #GdkPixbufBufferQueue
 </parameter_description>
 </parameter>
 <parameter name="bytes">
@@ -14319,277 +13889,559 @@ and gdk_pixbuf_composite().
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #GdkPixbuf, or %NULL if not enough memory could be
-allocated for it.
+<return> the new #GdkPixbuf, or %NULL if not enough memory could be
+allocated for it.
+</return>
+</function>
+
+<function name="gdk_pixbuf_set_option">
+<description>
+Attaches a key/value pair as an option to a #GdkPixbuf. If @key already
+exists in the list of options attached to @pixbuf, the new value is 
+ignored and %FALSE is returned.
+
+Since: 2.2
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> a #GdkPixbuf
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a nul-terminated string.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success.
+
+</return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_add_frame">
+<description>
+Adds a new frame to @animation. The @pixbuf must
+have the dimensions specified when the animation 
+was constructed.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufSimpleAnim
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the pixbuf to add 
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_get_loop">
+<description>
+Gets whether @animation should loop indefinitely when it reaches the end.
+
+Since: 2.18
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufSimpleAnim
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the animation loops forever, %FALSE otherwise
+
+</return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_new">
+<description>
+Creates a new, empty animation.
+
+Since: 2.8
+
+</description>
+<parameters>
+<parameter name="width">
+<parameter_description> the width of the animation
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the height of the animation
+</parameter_description>
+</parameter>
+<parameter name="rate">
+<parameter_description> the speed of the animation, in frames per second
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly allocated #GdkPixbufSimpleAnim 
+
+</return>
+</function>
+
+<function name="gdk_pixbuf_simple_anim_set_loop">
+<description>
+Sets whether @animation should loop indefinitely when it reaches the end.
+
+Since: 2.18
+
+</description>
+<parameters>
+<parameter name="animation">
+<parameter_description> a #GdkPixbufSimpleAnim
+</parameter_description>
+</parameter>
+<parameter name="loop">
+<parameter_description> whether to loop the animation
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_unref">
+<description>
+Removes a reference from a pixbuf.
+
+Deprecated: 2.0: Use g_object_unref().
+
+</description>
+<parameters>
+<parameter name="pixbuf">
+<parameter_description> A pixbuf.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixbuf_version">
+<description>
+Contains the full version of the gdk-pixbuf library as a string.
+This is the version currently in use by a running program.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_pixdata_deserialize">
+<description>
+Deserializes (reconstruct) a #GdkPixdata structure from a byte stream.
+The byte stream consists of a straightforward writeout of the
+#GdkPixdata fields in network byte order, plus the @pixel_data
+bytes the structure points to.
+The @pixdata contents are reconstructed byte by byte and are checked
+for validity. This function may fail with %GDK_PIXBUF_ERROR_CORRUPT_IMAGE
+or %GDK_PIXBUF_ERROR_UNKNOWN_TYPE.
+
+Deprecated: 2.32: Use #GResource instead.
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata structure to be filled in.
+</parameter_description>
+</parameter>
+<parameter name="stream_length">
+<parameter_description> length of the stream used for deserialization.
+</parameter_description>
+</parameter>
+<parameter name="stream">
+<parameter_description> stream of bytes containing a
+serialized #GdkPixdata structure.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError location to indicate failures (maybe %NULL to ignore errors).
+</parameter_description>
+</parameter>
+</parameters>
+<return> Upon successful deserialization %TRUE is returned,
+%FALSE otherwise.
+
+</return>
+</function>
+
+<function name="gdk_pixdata_from_pixbuf">
+<description>
+Converts a #GdkPixbuf to a #GdkPixdata. If @use_rle is %TRUE, the
+pixel data is run-length encoded into newly-allocated memory and a 
+pointer to that memory is returned. 
+
+Deprecated: 2.32: Use #GResource instead.
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata to fill.
+</parameter_description>
+</parameter>
+<parameter name="pixbuf">
+<parameter_description> the data to fill @pixdata with.
+</parameter_description>
+</parameter>
+<parameter name="use_rle">
+<parameter_description> whether to use run-length encoding for the pixel data.
+</parameter_description>
+</parameter>
+</parameters>
+<return> If @use_rle is %TRUE, a pointer to the
+newly-allocated memory for the run-length encoded pixel data,
+otherwise %NULL.
+
+</return>
+</function>
+
+<function name="gdk_pixdata_serialize">
+<description>
+Serializes a #GdkPixdata structure into a byte stream.
+The byte stream consists of a straightforward writeout of the
+#GdkPixdata fields in network byte order, plus the @pixel_data
+bytes the structure points to.
+
+Deprecated: 2.32: Use #GResource instead.
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a valid #GdkPixdata structure to serialize.
+</parameter_description>
+</parameter>
+<parameter name="stream_length_p">
+<parameter_description> location to store the resulting stream length in.
+</parameter_description>
+</parameter>
+</parameters>
+<return> A
+newly-allocated string containing the serialized #GdkPixdata
+structure.
+
+</return>
+</function>
+
+<function name="gdk_pixdata_to_csource">
+<description>
+Generates C source code suitable for compiling images directly 
+into programs. 
+
+gdk-pixbuf ships with a program called
+[gdk-pixbuf-csource][gdk-pixbuf-csource], which offers a command
+line interface to this function.
+
+Deprecated: 2.32: Use #GResource instead.
+
+</description>
+<parameters>
+<parameter name="pixdata">
+<parameter_description> a #GdkPixdata to convert to C source.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> used for naming generated data structures or macros.
+</parameter_description>
+</parameter>
+<parameter name="dump_type">
+<parameter_description> a #GdkPixdataDumpType determining the kind of C
+source to be generated.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated string containing the C source form
+of @pixdata.
+</return>
+</function>
+
+<function name="gdk_popup_layout_copy">
+<description>
+Create a new #GdkPopupLayout and copy the contents of @layout into it.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @layout.
+</return>
+</function>
+
+<function name="gdk_popup_layout_equal">
+<description>
+Check whether @layout and @other has identical layout properties.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+<parameter name="other">
+<parameter_description> another #GdkPopupLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @layout and @other have identical layout properties,
+otherwise %FALSE.
+</return>
+</function>
+
+<function name="gdk_popup_layout_get_anchor_hints">
+<description>
+Get the #GdkAnchorHints.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkAnchorHints.
+</return>
+</function>
+
+<function name="gdk_popup_layout_get_anchor_rect">
+<description>
+Get the anchor rectangle.
+
+
+</description>
+<parameters>
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+</parameters>
+<return> The anchor rectangle.
 </return>
 </function>
 
-<function name="gdk_pixbuf_set_option">
+<function name="gdk_popup_layout_get_offset">
 <description>
-Attaches a key/value pair as an option to a #GdkPixbuf. If @key already
-exists in the list of options attached to @pixbuf, the new value is 
-ignored and %FALSE is returned.
-
-Since: 2.2
+Get the delta the anchor rectangle is offset with
 
 </description>
 <parameters>
-<parameter name="pixbuf">
-<parameter_description> a #GdkPixbuf
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
-<parameter name="key">
-<parameter_description> a nul-terminated string.
+<parameter name="dx">
+<parameter_description> a pointer to where to store the delta x coordinate
 </parameter_description>
 </parameter>
-<parameter name="value">
-<parameter_description> a nul-terminated string.
+<parameter name="dy">
+<parameter_description> a pointer to where to store the delta y coordinate
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE on success.
-
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixbuf_simple_anim_add_frame">
+<function name="gdk_popup_layout_get_rect_anchor">
 <description>
-Adds a new frame to @animation. The @pixbuf must
-have the dimensions specified when the animation 
-was constructed.
-
-Since: 2.8
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> a #GdkPixbufSimpleAnim
-</parameter_description>
-</parameter>
-<parameter name="pixbuf">
-<parameter_description> the pixbuf to add 
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the anchor on the anchor rectangle.
+</return>
 </function>
 
-<function name="gdk_pixbuf_simple_anim_get_loop">
+<function name="gdk_popup_layout_get_surface_anchor">
 <description>
-Gets whether @animation should loop indefinitely when it reaches the end.
-
-Since: 2.18
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> a #GdkPixbufSimpleAnim
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the animation loops forever, %FALSE otherwise
-
+<return> the anchor on the popup surface.
 </return>
 </function>
 
-<function name="gdk_pixbuf_simple_anim_new">
+<function name="gdk_popup_layout_new">
 <description>
-Creates a new, empty animation.
+Create a popup layout description. Used together with
+gdk_surface_present_popup() to describe how a popup surface should be placed
+and behave on-screen.
+
+@anchor_rect is relative to the top-left corner of the surface's parent.
+@rect_anchor and @surface_anchor determine anchor points on @anchor_rect and
+surface to pin together.
+
+The position of @anchor_rect's anchor point can optionally be offset using
+gdk_popup_layout_set_offset(), which is equivalent to offsetting the
+position of surface.
 
-Since: 2.8
 
 </description>
 <parameters>
-<parameter name="width">
-<parameter_description> the width of the animation
+<parameter name="anchor_rect">
+<parameter_description> the anchor #GdkRectangle to align @surface with
 </parameter_description>
 </parameter>
-<parameter name="height">
-<parameter_description> the height of the animation
+<parameter name="rect_anchor">
+<parameter_description> the point on @anchor_rect to align with @surface's anchor point
 </parameter_description>
 </parameter>
-<parameter name="rate">
-<parameter_description> the speed of the animation, in frames per second
+<parameter name="surface_anchor">
+<parameter_description> the point on @surface to align with @rect's anchor point
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated #GdkPixbufSimpleAnim 
-
+<return> newly created instance of #GdkPopupLayout
 </return>
 </function>
 
-<function name="gdk_pixbuf_simple_anim_set_loop">
+<function name="gdk_popup_layout_ref">
 <description>
-Sets whether @animation should loop indefinitely when it reaches the end.
+Increases the reference count of @value.
 
-Since: 2.18
 
 </description>
 <parameters>
-<parameter name="animation">
-<parameter_description> a #GdkPixbufSimpleAnim
-</parameter_description>
-</parameter>
-<parameter name="loop">
-<parameter_description> whether to loop the animation
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the same @layout
+</return>
 </function>
 
-<function name="gdk_pixbuf_unref">
+<function name="gdk_popup_layout_set_anchor_hints">
 <description>
-Removes a reference from a pixbuf.
+Set new anchor hints.
 
-Deprecated: 2.0: Use g_object_unref().
+The set @anchor_hints determines how @surface will be moved if the anchor
+points cause it to move off-screen. For example, %GDK_ANCHOR_FLIP_X will
+replace %GDK_GRAVITY_NORTH_WEST with %GDK_GRAVITY_NORTH_EAST and vice versa
+if @surface extends beyond the left or right edges of the monitor.
 
 </description>
 <parameters>
-<parameter name="pixbuf">
-<parameter_description> A pixbuf.
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+<parameter name="anchor_hints">
+<parameter_description> the new #GdkAnchorHints
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_pixbuf_version">
+<function name="gdk_popup_layout_set_anchor_rect">
 <description>
-Contains the full version of the gdk-pixbuf library as a string.
-This is the version currently in use by a running program.
+Set the anchor rectangle.
 
 </description>
 <parameters>
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
+</parameter_description>
+</parameter>
+<parameter name="anchor_rect">
+<parameter_description> the new anchor rectangle
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="gdk_pixdata_deserialize">
+<function name="gdk_popup_layout_set_offset">
 <description>
-Deserializes (reconstruct) a #GdkPixdata structure from a byte stream.
-The byte stream consists of a straightforward writeout of the
-#GdkPixdata fields in network byte order, plus the @pixel_data
-bytes the structure points to.
-The @pixdata contents are reconstructed byte by byte and are checked
-for validity. This function may fail with %GDK_PIXBUF_ERROR_CORRUPT_IMAGE
-or %GDK_PIXBUF_ERROR_UNKNOWN_TYPE.
-
-Deprecated: 2.32: Use #GResource instead.
+Offset the position of the anchor rectangle with the given delta.
 
 </description>
 <parameters>
-<parameter name="pixdata">
-<parameter_description> a #GdkPixdata structure to be filled in.
-</parameter_description>
-</parameter>
-<parameter name="stream_length">
-<parameter_description> length of the stream used for deserialization.
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
-<parameter name="stream">
-<parameter_description> stream of bytes containing a
-serialized #GdkPixdata structure.
+<parameter name="dx">
+<parameter_description> x delta to offset the anchor rectangle with
 </parameter_description>
 </parameter>
-<parameter name="error">
-<parameter_description> #GError location to indicate failures (maybe %NULL to ignore errors).
+<parameter name="dy">
+<parameter_description> y delta to offset the anchor rectangle with
 </parameter_description>
 </parameter>
 </parameters>
-<return> Upon successful deserialization %TRUE is returned,
-%FALSE otherwise.
-
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixdata_from_pixbuf">
+<function name="gdk_popup_layout_set_rect_anchor">
 <description>
-Converts a #GdkPixbuf to a #GdkPixdata. If @use_rle is %TRUE, the
-pixel data is run-length encoded into newly-allocated memory and a 
-pointer to that memory is returned. 
-
-Deprecated: 2.32: Use #GResource instead.
+Set the anchor on the anchor rectangle.
 
 </description>
 <parameters>
-<parameter name="pixdata">
-<parameter_description> a #GdkPixdata to fill.
-</parameter_description>
-</parameter>
-<parameter name="pixbuf">
-<parameter_description> the data to fill @pixdata with.
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
-<parameter name="use_rle">
-<parameter_description> whether to use run-length encoding for the pixel data.
+<parameter name="anchor">
+<parameter_description> the new rect anchor
 </parameter_description>
 </parameter>
 </parameters>
-<return> If @use_rle is %TRUE, a pointer to the
-newly-allocated memory for the run-length encoded pixel data,
-otherwise %NULL.
-
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixdata_serialize">
+<function name="gdk_popup_layout_set_surface_anchor">
 <description>
-Serializes a #GdkPixdata structure into a byte stream.
-The byte stream consists of a straightforward writeout of the
-#GdkPixdata fields in network byte order, plus the @pixel_data
-bytes the structure points to.
-
-Deprecated: 2.32: Use #GResource instead.
+Set the anchor on the popup surface.
 
 </description>
 <parameters>
-<parameter name="pixdata">
-<parameter_description> a valid #GdkPixdata structure to serialize.
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
-<parameter name="stream_length_p">
-<parameter_description> location to store the resulting stream length in.
+<parameter name="anchor">
+<parameter_description> the new popup surface anchor
 </parameter_description>
 </parameter>
 </parameters>
-<return> A
-newly-allocated string containing the serialized #GdkPixdata
-structure.
-
-</return>
+<return></return>
 </function>
 
-<function name="gdk_pixdata_to_csource">
+<function name="gdk_popup_layout_unref">
 <description>
-Generates C source code suitable for compiling images directly 
-into programs. 
-
-gdk-pixbuf ships with a program called
-[gdk-pixbuf-csource][gdk-pixbuf-csource], which offers a command
-line interface to this function.
-
-Deprecated: 2.32: Use #GResource instead.
+Decreases the reference count of @value.
 
 </description>
 <parameters>
-<parameter name="pixdata">
-<parameter_description> a #GdkPixdata to convert to C source.
-</parameter_description>
-</parameter>
-<parameter name="name">
-<parameter_description> used for naming generated data structures or macros.
-</parameter_description>
-</parameter>
-<parameter name="dump_type">
-<parameter_description> a #GdkPixdataDumpType determining the kind of C
-source to be generated.
+<parameter name="layout">
+<parameter_description> a #GdkPopupLayout
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly-allocated string containing the C source form
-of @pixdata.
-</return>
+<return></return>
 </function>
 
 <function name="gdk_rectangle_contains_point">
@@ -14810,54 +14662,117 @@ The string can be either one of:
 have full opacity)
 - A RGBA color in the form “rgba(r,g,b,a)”
 
-Where “r”, “g”, “b” and “a” are respectively the red, green, blue and
-alpha color values. In the last two cases, “r”, “g”, and “b” are either integers
-in the range 0 to 255 or percentage values in the range 0% to 100%, and
-a is a floating point value in the range 0 to 1.
+Where “r”, “g”, “b” and “a” are respectively the red, green, blue and
+alpha color values. In the last two cases, “r”, “g”, and “b” are either integers
+in the range 0 to 255 or percentage values in the range 0% to 100%, and
+a is a floating point value in the range 0 to 1.
+
+
+</description>
+<parameters>
+<parameter name="rgba">
+<parameter_description> the #GdkRGBA to fill in
+</parameter_description>
+</parameter>
+<parameter name="spec">
+<parameter_description> the string specifying the color
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the parsing succeeded
+</return>
+</function>
+
+<function name="gdk_rgba_to_string">
+<description>
+Returns a textual specification of @rgba in the form
+`rgb(r,g,b)` or
+`rgba(r g,b,a)`,
+where “r”, “g”, “b” and “a” represent the red, green,
+blue and alpha values respectively. “r”, “g”, and “b” are
+represented as integers in the range 0 to 255, and “a”
+is represented as a floating point value in the range 0 to 1.
+
+These string forms are string forms that are supported by
+the CSS3 colors module, and can be parsed by gdk_rgba_parse().
+
+Note that this string representation may lose some
+precision, since “r”, “g” and “b” are represented as 8-bit
+integers. If this is a concern, you should use a
+different representation.
+
+
+</description>
+<parameters>
+<parameter name="rgba">
+<parameter_description> a #GdkRGBA
+</parameter_description>
+</parameter>
+</parameters>
+<return> A newly allocated text string
+</return>
+</function>
+
+<function name="gdk_scroll_event_get_deltas">
+<description>
+Extracts the scroll deltas of a scroll event.
+
+The deltas will be zero unless the scroll direction
+is %GDK_SCROLL_SMOOTH.
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a scroll event
+</parameter_description>
+</parameter>
+<parameter name="delta_x">
+<parameter_description> return location for x scroll delta
+</parameter_description>
+</parameter>
+<parameter name="delta_y">
+<parameter_description> return location for y scroll delta
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_scroll_event_get_direction">
+<description>
+Extracts the direction of a scroll event.
 
 
 </description>
 <parameters>
-<parameter name="rgba">
-<parameter_description> the #GdkRGBA to fill in
-</parameter_description>
-</parameter>
-<parameter name="spec">
-<parameter_description> the string specifying the color
+<parameter name="event">
+<parameter_description> a scroll event
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the parsing succeeded
+<return> the scroll direction of @event
 </return>
 </function>
 
-<function name="gdk_rgba_to_string">
+<function name="gdk_scroll_event_is_stop">
 <description>
-Returns a textual specification of @rgba in the form
-`rgb(r,g,b)` or
-`rgba(r g,b,a)`,
-where “r”, “g”, “b” and “a” represent the red, green,
-blue and alpha values respectively. “r”, “g”, and “b” are
-represented as integers in the range 0 to 255, and “a”
-is represented as a floating point value in the range 0 to 1.
-
-These string forms are string forms that are supported by
-the CSS3 colors module, and can be parsed by gdk_rgba_parse().
+Check whether a scroll event is a stop scroll event. Scroll sequences
+with smooth scroll information may provide a stop scroll event once the
+interaction with the device finishes, e.g. by lifting a finger. This
+stop scroll event is the signal that a widget may trigger kinetic
+scrolling based on the current velocity.
 
-Note that this string representation may lose some
-precision, since “r”, “g” and “b” are represented as 8-bit
-integers. If this is a concern, you should use a
-different representation.
+Stop scroll events always have a delta of 0/0.
 
 
 </description>
 <parameters>
-<parameter name="rgba">
-<parameter_description> a #GdkRGBA
+<parameter name="event">
+<parameter_description> a scroll event
 </parameter_description>
 </parameter>
 </parameters>
-<return> A newly allocated text string
+<return> %TRUE if the event is a scroll stop event
 </return>
 </function>
 
@@ -15108,23 +15023,6 @@ in order to take effect.
 <return></return>
 </function>
 
-<function name="gdk_set_show_events">
-<description>
-Sets whether a trace of received events is output.
-Note that GTK+ must be compiled with debugging (that is,
-configured using the `--enable-debug` option)
-to use this option.
-
-</description>
-<parameters>
-<parameter name="show_events">
-<parameter_description>  %TRUE to output event debugging information.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_beep">
 <description>
 Emits a short beep associated to @surface in the appropriate
@@ -15778,6 +15676,38 @@ Only popup surfaces have parents.
 </return>
 </function>
 
+<function name="gdk_surface_get_popup_rect_anchor">
+<description>
+Get the current popup anchor rectangle anchor. The value
+returned may chage after calling gdk_surface_show_popup(),
+gdk_surface_layout_popup() or after the &quot;popup-layout-changed&quot; is emitted.
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> a #GdkSurface
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_surface_get_popup_surface_anchor">
+<description>
+Get the current popup surface anchor. The value returned may chage after
+calling gdk_surface_show_popup(), gdk_surface_layout_popup() or after the
+&quot;popup-layout-changed&quot; is emitted.
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> a #GdkSurface
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gdk_surface_get_position">
 <description>
 Obtains the position of the surface relative to its parent.
@@ -16136,74 +16066,16 @@ This function only makes sense when @surface is a toplevel surface.
 <return></return>
 </function>
 
-<function name="gdk_surface_move_to_rect">
-<description>
-Moves @surface to @rect, aligning their anchor points.
-
-@rect is relative to the top-left corner of the surface that @surface is
-transient for. @rect_anchor and @surface_anchor determine anchor points on
-@rect and @surface to pin together. @rect's anchor point can optionally be
-offset by @rect_anchor_dx and @rect_anchor_dy, which is equivalent to
-offsetting the position of @surface.
-
-@anchor_hints determines how @surface will be moved if the anchor points cause
-it to move off-screen. For example, %GDK_ANCHOR_FLIP_X will replace
-%GDK_GRAVITY_NORTH_WEST with %GDK_GRAVITY_NORTH_EAST and vice versa if
-@surface extends beyond the left or right edges of the monitor.
-
-Connect to the #GdkSurface::moved-to-rect signal to find out how it was
-actually positioned.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> the #GdkSurface to move
-</parameter_description>
-</parameter>
-<parameter name="rect">
-<parameter_description> the destination #GdkRectangle to align @surface with
-</parameter_description>
-</parameter>
-<parameter name="rect_anchor">
-<parameter_description> the point on @rect to align with @surface's anchor point
-</parameter_description>
-</parameter>
-<parameter name="surface_anchor">
-<parameter_description> the point on @surface to align with @rect's anchor point
-</parameter_description>
-</parameter>
-<parameter name="anchor_hints">
-<parameter_description> positioning hints to use when limited on space
-</parameter_description>
-</parameter>
-<parameter name="rect_anchor_dx">
-<parameter_description> horizontal offset to shift @surface, i.e. @rect's anchor
-point
-</parameter_description>
-</parameter>
-<parameter name="rect_anchor_dy">
-<parameter_description> vertical offset to shift @surface, i.e. @rect's anchor point
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_new_popup">
 <description>
 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().
+The surface will be attached to @parent and can be positioned relative to it
+using gdk_surface_show_popup() or later using gdk_surface_layout_popup().
 
 
 </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 to attach the surface to
 </parameter_description>
@@ -16262,6 +16134,44 @@ Creates a new toplevel surface.
 </return>
 </function>
 
+<function name="gdk_surface_present_popup">
+<description>
+Present @surface after having processed the #GdkPopupLayout rules. If the
+popup was previously now showing, it will be showed, otherwise it will
+change position according to @layout.
+
+After calling this function, the result of the layout can be queried
+using gdk_surface_get_position(), gdk_surface_get_width(),
+gdk_surface_get_height(), gdk_surface_get_popup_rect_anchor() and
+gdk_surface_get_popup_surface_anchor().
+
+Presenting may have fail, for example if it was immediately hidden if the
+@surface was set to autohide.
+
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> the popup #GdkSurface to show
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the unconstrained popup width to layout
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the unconstrained popup height to layout
+</parameter_description>
+</parameter>
+<parameter name="layout">
+<parameter_description> the #GdkPopupLayout object used to layout
+</parameter_description>
+</parameter>
+</parameters>
+<return> %FALSE if it failed to be presented, otherwise %TRUE.
+</return>
+</function>
+
 <function name="gdk_surface_queue_expose">
 <description>
 Forces an expose event for @surface to be scheduled.
@@ -16302,20 +16212,6 @@ requests the restack, does not guarantee it.
 <return></return>
 </function>
 
-<function name="gdk_surface_register_dnd">
-<description>
-Registers a surface as a potential drop destination.
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gdk_surface_resize">
 <description>
 Resizes @surface; for toplevel surfaces, asks the window manager to resize
@@ -16960,6 +16856,9 @@ Z-order).
 This function maps a surface so it’s visible onscreen. Its opposite
 is gdk_surface_hide().
 
+This function may not be used on a #GdkSurface with the surface type
+GTK_SURFACE_POPUP.
+
 When implementing a #GtkWidget, you should call this function on the widget's
 #GdkSurface as part of the “map” method.
 
@@ -17141,45 +17040,6 @@ and gtk_window_unstick().
 <return></return>
 </function>
 
-<function name="gdk_text_property_to_utf8_list_for_display">
-<description>
-Converts a text property in the given encoding to
-a list of UTF-8 strings.
-
-
-</description>
-<parameters>
-<parameter name="display">
-<parameter_description>  a #GdkDisplay
-</parameter_description>
-</parameter>
-<parameter name="encoding">
-<parameter_description> an atom representing the encoding of the text
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description>   the format of the property
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> the text to convert
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description>   the length of @text, in bytes
-</parameter_description>
-</parameter>
-<parameter name="list">
-<parameter_description> location to store the list
-of strings or %NULL. The list should be freed with
-g_strfreev().
-</parameter_description>
-</parameter>
-</parameters>
-<return> the number of strings in the resulting list
-</return>
-</function>
-
 <function name="gdk_texture_download">
 <description>
 Downloads the @texture into local memory. This may be
@@ -17353,43 +17213,123 @@ look into using the gdk-pixbuf library.
 </return>
 </function>
 
-<function name="gdk_unicode_to_keyval">
+<function name="gdk_touch_event_get_emulating_pointer">
 <description>
-Convert from a ISO10646 character to a key symbol.
+Extracts whether a touch event is emulating a pointer event.
 
 
 </description>
 <parameters>
-<parameter name="wc">
-<parameter_description> a ISO10646 encoded character
+<parameter name="event">
+<parameter_description> a touch event
 </parameter_description>
 </parameter>
 </parameters>
-<return> the corresponding GDK key symbol, if one exists.
-or, if there is no corresponding symbol, 
-wc | 0x01000000
+<return> %TRUE if @event is emulating
+</return>
+</function>
+
+<function name="gdk_touchpad_event_get_deltas">
+<description>
+Extracts delta information from a touchpad event.
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a touchpad event
+</parameter_description>
+</parameter>
+<parameter name="dx">
+<parameter_description> return location for x
+</parameter_description>
+</parameter>
+<parameter name="dy">
+<parameter_description> return location for y
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gdk_touchpad_event_get_gesture_phase">
+<description>
+Extracts the touchpad gesture phase from a touchpad event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a touchpad #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return> the gesture phase of @event
+</return>
+</function>
+
+<function name="gdk_touchpad_event_get_n_fingers">
+<description>
+Extracts the number of fingers from a touchpad event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a touchpad event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of fingers for @event
+</return>
+</function>
+
+<function name="gdk_touchpad_pinch_event_get_angle_delta">
+<description>
+Extracts the angle delta from a touchpad pinch event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a touchpad pinch event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the angle delta of @event
+</return>
+</function>
+
+<function name="gdk_touchpad_pinch_event_get_scale">
+<description>
+Extracts the scale from a touchpad pinch event.
+
+
+</description>
+<parameters>
+<parameter name="event">
+<parameter_description> a touchpad pinch event
+</parameter_description>
+</parameter>
+</parameters>
+<return> the scale of @event
 </return>
 </function>
 
-<function name="gdk_utf8_to_string_target">
+<function name="gdk_unicode_to_keyval">
 <description>
-Converts a UTF-8 string into the best possible representation
-as a STRING. The representation of characters not in STRING
-is not specified; it may be as pseudo-escape sequences
-\x{ABCD}, or it may be in some other form of approximation.
+Convert from a ISO10646 character to a key symbol.
 
 
 </description>
 <parameters>
-<parameter name="str">
-<parameter_description> a UTF-8 string
+<parameter name="wc">
+<parameter_description> a ISO10646 encoded character
 </parameter_description>
 </parameter>
 </parameters>
-<return> the newly-allocated string, or %NULL if the
-conversion failed. (It should not fail for any properly
-formed UTF-8 string unless system limits like memory or
-file descriptors are exceeded.)
+<return> the corresponding GDK key symbol, if one exists.
+or, if there is no corresponding symbol, 
+wc | 0x01000000
 </return>
 </function>
 
diff --git a/gdk/src/gdk_docs_override.xml b/gdk/src/gdk_docs_override.xml
index af705ff5..4c201c2b 100644
--- a/gdk/src/gdk_docs_override.xml
+++ b/gdk/src/gdk_docs_override.xml
@@ -46,6 +46,7 @@
 <substitute_enumerator_name from_prefix="GDK_SUBPIXEL_LAYOUT_" to_prefix="Gdk::SubpixelLayout::" />
 <substitute_enumerator_name from_prefix="GDK_FRAME_CLOCK_PHASE_" to_prefix="Gdk::FrameClock::Phase::" />
 <substitute_enumerator_name from_prefix="GDK_PAINTABLE_" to_prefix="Gdk::Paintable::Flags::" />
+<substitute_enumerator_name from_prefix="GDK_SCROLL_" to_prefix="Gdk::ScrollDirection::" />
 <!-- Some enums have enumerators without unique prefixes. Handle these enumerators individually. -->
 <substitute_enumerator_name from="GDK_NOTHING" to="Gdk::Event::Type::NOTHING" />
 <substitute_enumerator_name from="GDK_POINTER_MOTION_HINT_MASK" 
to="Gdk::EventMask::POINTER_MOTION_HINT_MASK" />
@@ -117,4 +118,24 @@ Since: 2.14
 </description>
 </function>
 
+<!-- TODO: Remove this function description when gtk's description has been -->
+<!-- fixed. @event: (transfer none) instead of @event (transfer none): -->
+<function name="gdk_display_put_event">
+<description>
+Appends the given event onto the front of the event
+queue for @display.
+</description>
+<parameters>
+<parameter name="display">
+<parameter_description> a #GdkDisplay
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 </root>
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index 19417ab8..c21f54f3 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -137,9 +137,7 @@
 ;; Original typedef:
 ;; typedef enum
 ;; {
-;;   GDK_NOTHING,
 ;;   GDK_DELETE,
-;;   GDK_DESTROY,
 ;;   GDK_MOTION_NOTIFY,
 ;;   GDK_BUTTON_PRESS,
 ;;   GDK_BUTTON_RELEASE,
@@ -175,38 +173,36 @@
   (in-module "Gdk")
   (c-name "GdkEventType")
   (values
-    '("nothing" "GDK_NOTHING" "0")
-    '("delete" "GDK_DELETE" "1")
-    '("destroy" "GDK_DESTROY" "2")
-    '("motion-notify" "GDK_MOTION_NOTIFY" "3")
-    '("button-press" "GDK_BUTTON_PRESS" "4")
-    '("button-release" "GDK_BUTTON_RELEASE" "5")
-    '("key-press" "GDK_KEY_PRESS" "6")
-    '("key-release" "GDK_KEY_RELEASE" "7")
-    '("enter-notify" "GDK_ENTER_NOTIFY" "8")
-    '("leave-notify" "GDK_LEAVE_NOTIFY" "9")
-    '("focus-change" "GDK_FOCUS_CHANGE" "10")
-    '("configure" "GDK_CONFIGURE" "11")
-    '("proximity-in" "GDK_PROXIMITY_IN" "12")
-    '("proximity-out" "GDK_PROXIMITY_OUT" "13")
-    '("drag-enter" "GDK_DRAG_ENTER" "14")
-    '("drag-leave" "GDK_DRAG_LEAVE" "15")
-    '("drag-motion" "GDK_DRAG_MOTION" "16")
-    '("drop-start" "GDK_DROP_START" "17")
-    '("scroll" "GDK_SCROLL" "18")
-    '("grab-broken" "GDK_GRAB_BROKEN" "19")
-    '("touch-begin" "GDK_TOUCH_BEGIN" "20")
-    '("touch-update" "GDK_TOUCH_UPDATE" "21")
-    '("touch-end" "GDK_TOUCH_END" "22")
-    '("touch-cancel" "GDK_TOUCH_CANCEL" "23")
-    '("touchpad-swipe" "GDK_TOUCHPAD_SWIPE" "24")
-    '("touchpad-pinch" "GDK_TOUCHPAD_PINCH" "25")
-    '("pad-button-press" "GDK_PAD_BUTTON_PRESS" "26")
-    '("pad-button-release" "GDK_PAD_BUTTON_RELEASE" "27")
-    '("pad-ring" "GDK_PAD_RING" "28")
-    '("pad-strip" "GDK_PAD_STRIP" "29")
-    '("pad-group-mode" "GDK_PAD_GROUP_MODE" "30")
-    '("event-last" "GDK_EVENT_LAST" "31")
+    '("delete" "GDK_DELETE" "0")
+    '("motion-notify" "GDK_MOTION_NOTIFY" "1")
+    '("button-press" "GDK_BUTTON_PRESS" "2")
+    '("button-release" "GDK_BUTTON_RELEASE" "3")
+    '("key-press" "GDK_KEY_PRESS" "4")
+    '("key-release" "GDK_KEY_RELEASE" "5")
+    '("enter-notify" "GDK_ENTER_NOTIFY" "6")
+    '("leave-notify" "GDK_LEAVE_NOTIFY" "7")
+    '("focus-change" "GDK_FOCUS_CHANGE" "8")
+    '("configure" "GDK_CONFIGURE" "9")
+    '("proximity-in" "GDK_PROXIMITY_IN" "10")
+    '("proximity-out" "GDK_PROXIMITY_OUT" "11")
+    '("drag-enter" "GDK_DRAG_ENTER" "12")
+    '("drag-leave" "GDK_DRAG_LEAVE" "13")
+    '("drag-motion" "GDK_DRAG_MOTION" "14")
+    '("drop-start" "GDK_DROP_START" "15")
+    '("scroll" "GDK_SCROLL" "16")
+    '("grab-broken" "GDK_GRAB_BROKEN" "17")
+    '("touch-begin" "GDK_TOUCH_BEGIN" "18")
+    '("touch-update" "GDK_TOUCH_UPDATE" "19")
+    '("touch-end" "GDK_TOUCH_END" "20")
+    '("touch-cancel" "GDK_TOUCH_CANCEL" "21")
+    '("touchpad-swipe" "GDK_TOUCHPAD_SWIPE" "22")
+    '("touchpad-pinch" "GDK_TOUCHPAD_PINCH" "23")
+    '("pad-button-press" "GDK_PAD_BUTTON_PRESS" "24")
+    '("pad-button-release" "GDK_PAD_BUTTON_RELEASE" "25")
+    '("pad-ring" "GDK_PAD_RING" "26")
+    '("pad-strip" "GDK_PAD_STRIP" "27")
+    '("pad-group-mode" "GDK_PAD_GROUP_MODE" "28")
+    '("event-last" "GDK_EVENT_LAST" "29")
   )
 )
 
@@ -409,6 +405,38 @@
   )
 )
 
+;; From gdkpopuplayout.h
+
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GDK_ANCHOR_FLIP_X   = 1 << 0,
+;;   GDK_ANCHOR_FLIP_Y   = 1 << 1,
+;;   GDK_ANCHOR_SLIDE_X  = 1 << 2,
+;;   GDK_ANCHOR_SLIDE_Y  = 1 << 3,
+;;   GDK_ANCHOR_RESIZE_X = 1 << 4,
+;;   GDK_ANCHOR_RESIZE_Y = 1 << 5,
+;;   GDK_ANCHOR_FLIP     = GDK_ANCHOR_FLIP_X | GDK_ANCHOR_FLIP_Y,
+;;   GDK_ANCHOR_SLIDE    = GDK_ANCHOR_SLIDE_X | GDK_ANCHOR_SLIDE_Y,
+;;   GDK_ANCHOR_RESIZE   = GDK_ANCHOR_RESIZE_X | GDK_ANCHOR_RESIZE_Y,
+;; } GdkAnchorHints;
+
+(define-flags-extended AnchorHints
+  (in-module "Gdk")
+  (c-name "GdkAnchorHints")
+  (values
+    '("flip-x" "GDK_ANCHOR_FLIP_X" "1 << 0")
+    '("flip-y" "GDK_ANCHOR_FLIP_Y" "1 << 1")
+    '("slide-x" "GDK_ANCHOR_SLIDE_X" "1 << 2")
+    '("slide-y" "GDK_ANCHOR_SLIDE_Y" "1 << 3")
+    '("resize-x" "GDK_ANCHOR_RESIZE_X" "1 << 4")
+    '("resize-y" "GDK_ANCHOR_RESIZE_Y" "1 << 5")
+    '("flip" "GDK_ANCHOR_FLIP" "0x3")
+    '("slide" "GDK_ANCHOR_SLIDE" "0xC")
+    '("resize" "GDK_ANCHOR_RESIZE" "0x30")
+  )
+)
+
 ;; From gdkseat.h
 
 ;; Original typedef:
@@ -538,68 +566,6 @@
   )
 )
 
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_GRAVITY_NORTH_WEST = 1,
-;;   GDK_GRAVITY_NORTH,
-;;   GDK_GRAVITY_NORTH_EAST,
-;;   GDK_GRAVITY_WEST,
-;;   GDK_GRAVITY_CENTER,
-;;   GDK_GRAVITY_EAST,
-;;   GDK_GRAVITY_SOUTH_WEST,
-;;   GDK_GRAVITY_SOUTH,
-;;   GDK_GRAVITY_SOUTH_EAST,
-;;   GDK_GRAVITY_STATIC
-;; } GdkGravity;
-
-(define-enum-extended Gravity
-  (in-module "Gdk")
-  (c-name "GdkGravity")
-  (values
-    '("north-west" "GDK_GRAVITY_NORTH_WEST" "1")
-    '("north" "GDK_GRAVITY_NORTH" "2")
-    '("north-east" "GDK_GRAVITY_NORTH_EAST" "3")
-    '("west" "GDK_GRAVITY_WEST" "4")
-    '("center" "GDK_GRAVITY_CENTER" "5")
-    '("east" "GDK_GRAVITY_EAST" "6")
-    '("south-west" "GDK_GRAVITY_SOUTH_WEST" "7")
-    '("south" "GDK_GRAVITY_SOUTH" "8")
-    '("south-east" "GDK_GRAVITY_SOUTH_EAST" "9")
-    '("static" "GDK_GRAVITY_STATIC" "10")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_ANCHOR_FLIP_X   = 1 << 0,
-;;   GDK_ANCHOR_FLIP_Y   = 1 << 1,
-;;   GDK_ANCHOR_SLIDE_X  = 1 << 2,
-;;   GDK_ANCHOR_SLIDE_Y  = 1 << 3,
-;;   GDK_ANCHOR_RESIZE_X = 1 << 4,
-;;   GDK_ANCHOR_RESIZE_Y = 1 << 5,
-;;   GDK_ANCHOR_FLIP     = GDK_ANCHOR_FLIP_X | GDK_ANCHOR_FLIP_Y,
-;;   GDK_ANCHOR_SLIDE    = GDK_ANCHOR_SLIDE_X | GDK_ANCHOR_SLIDE_Y,
-;;   GDK_ANCHOR_RESIZE   = GDK_ANCHOR_RESIZE_X | GDK_ANCHOR_RESIZE_Y
-;; } GdkAnchorHints;
-
-(define-flags-extended AnchorHints
-  (in-module "Gdk")
-  (c-name "GdkAnchorHints")
-  (values
-    '("flip-x" "GDK_ANCHOR_FLIP_X" "1 << 0")
-    '("flip-y" "GDK_ANCHOR_FLIP_Y" "1 << 1")
-    '("slide-x" "GDK_ANCHOR_SLIDE_X" "1 << 2")
-    '("slide-y" "GDK_ANCHOR_SLIDE_Y" "1 << 3")
-    '("resize-x" "GDK_ANCHOR_RESIZE_X" "1 << 4")
-    '("resize-y" "GDK_ANCHOR_RESIZE_Y" "1 << 5")
-    '("flip" "GDK_ANCHOR_FLIP" "0x3")
-    '("slide" "GDK_ANCHOR_SLIDE" "0xC")
-    '("resize" "GDK_ANCHOR_RESIZE" "0x30")
-  )
-)
-
 ;; Original typedef:
 ;; typedef enum
 ;; {
@@ -692,6 +658,38 @@
 
 ;; From gdktypes.h
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   GDK_GRAVITY_NORTH_WEST = 1,
+;;   GDK_GRAVITY_NORTH,
+;;   GDK_GRAVITY_NORTH_EAST,
+;;   GDK_GRAVITY_WEST,
+;;   GDK_GRAVITY_CENTER,
+;;   GDK_GRAVITY_EAST,
+;;   GDK_GRAVITY_SOUTH_WEST,
+;;   GDK_GRAVITY_SOUTH,
+;;   GDK_GRAVITY_SOUTH_EAST,
+;;   GDK_GRAVITY_STATIC
+;; } GdkGravity;
+
+(define-enum-extended Gravity
+  (in-module "Gdk")
+  (c-name "GdkGravity")
+  (values
+    '("north-west" "GDK_GRAVITY_NORTH_WEST" "1")
+    '("north" "GDK_GRAVITY_NORTH" "2")
+    '("north-east" "GDK_GRAVITY_NORTH_EAST" "3")
+    '("west" "GDK_GRAVITY_WEST" "4")
+    '("center" "GDK_GRAVITY_CENTER" "5")
+    '("east" "GDK_GRAVITY_EAST" "6")
+    '("south-west" "GDK_GRAVITY_SOUTH_WEST" "7")
+    '("south" "GDK_GRAVITY_SOUTH" "8")
+    '("south-east" "GDK_GRAVITY_SOUTH_EAST" "9")
+    '("static" "GDK_GRAVITY_STATIC" "10")
+  )
+)
+
 ;; Original typedef:
 ;; typedef enum
 ;; {
diff --git a/gdk/src/gdk_extra_objects.defs b/gdk/src/gdk_extra_objects.defs
index c0316b26..ee4d2547 100644
--- a/gdk/src/gdk_extra_objects.defs
+++ b/gdk/src/gdk_extra_objects.defs
@@ -142,6 +142,12 @@
   (gtype-id "GDK_TYPE_PIXBUF_FORMAT")
 )
 
+(define-object PopupLayout
+  (in-module "Gdk")
+  (c-name "GdkPopupLayout")
+  (gtype-id "GDK_TYPE_POPUP_LAYOUT")
+)
+
 (define-object RGBA
   (in-module "Gdk")
   (c-name "GdkRGBA")
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 4de92e00..2f8ec994 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -91,9 +91,7 @@
   (c-name "GdkEventType")
   (gtype-id "GDK_TYPE_EVENT_TYPE")
   (values
-    '("nothing" "GDK_NOTHING")
     '("delete" "GDK_DELETE")
-    '("destroy" "GDK_DESTROY")
     '("motion-notify" "GDK_MOTION_NOTIFY")
     '("button-press" "GDK_BUTTON_PRESS")
     '("button-release" "GDK_BUTTON_RELEASE")
@@ -239,6 +237,23 @@
   )
 )
 
+(define-flags AnchorHints
+  (in-module "Gdk")
+  (c-name "GdkAnchorHints")
+  (gtype-id "GDK_TYPE_ANCHOR_HINTS")
+  (values
+    '("flip-x" "GDK_ANCHOR_FLIP_X")
+    '("flip-y" "GDK_ANCHOR_FLIP_Y")
+    '("slide-x" "GDK_ANCHOR_SLIDE_X")
+    '("slide-y" "GDK_ANCHOR_SLIDE_Y")
+    '("resize-x" "GDK_ANCHOR_RESIZE_X")
+    '("resize-y" "GDK_ANCHOR_RESIZE_Y")
+    '("flip" "GDK_ANCHOR_FLIP")
+    '("slide" "GDK_ANCHOR_SLIDE")
+    '("resize" "GDK_ANCHOR_RESIZE")
+  )
+)
+
 (define-flags SeatCapabilities
   (in-module "Gdk")
   (c-name "GdkSeatCapabilities")
@@ -312,41 +327,6 @@
   )
 )
 
-(define-enum Gravity
-  (in-module "Gdk")
-  (c-name "GdkGravity")
-  (gtype-id "GDK_TYPE_GRAVITY")
-  (values
-    '("north-west" "GDK_GRAVITY_NORTH_WEST")
-    '("north" "GDK_GRAVITY_NORTH")
-    '("north-east" "GDK_GRAVITY_NORTH_EAST")
-    '("west" "GDK_GRAVITY_WEST")
-    '("center" "GDK_GRAVITY_CENTER")
-    '("east" "GDK_GRAVITY_EAST")
-    '("south-west" "GDK_GRAVITY_SOUTH_WEST")
-    '("south" "GDK_GRAVITY_SOUTH")
-    '("south-east" "GDK_GRAVITY_SOUTH_EAST")
-    '("static" "GDK_GRAVITY_STATIC")
-  )
-)
-
-(define-flags AnchorHints
-  (in-module "Gdk")
-  (c-name "GdkAnchorHints")
-  (gtype-id "GDK_TYPE_ANCHOR_HINTS")
-  (values
-    '("flip-x" "GDK_ANCHOR_FLIP_X")
-    '("flip-y" "GDK_ANCHOR_FLIP_Y")
-    '("slide-x" "GDK_ANCHOR_SLIDE_X")
-    '("slide-y" "GDK_ANCHOR_SLIDE_Y")
-    '("resize-x" "GDK_ANCHOR_RESIZE_X")
-    '("resize-y" "GDK_ANCHOR_RESIZE_Y")
-    '("flip" "GDK_ANCHOR_FLIP")
-    '("slide" "GDK_ANCHOR_SLIDE")
-    '("resize" "GDK_ANCHOR_RESIZE")
-  )
-)
-
 (define-enum SurfaceEdge
   (in-module "Gdk")
   (c-name "GdkSurfaceEdge")
@@ -398,6 +378,24 @@
   )
 )
 
+(define-enum Gravity
+  (in-module "Gdk")
+  (c-name "GdkGravity")
+  (gtype-id "GDK_TYPE_GRAVITY")
+  (values
+    '("north-west" "GDK_GRAVITY_NORTH_WEST")
+    '("north" "GDK_GRAVITY_NORTH")
+    '("north-east" "GDK_GRAVITY_NORTH_EAST")
+    '("west" "GDK_GRAVITY_WEST")
+    '("center" "GDK_GRAVITY_CENTER")
+    '("east" "GDK_GRAVITY_EAST")
+    '("south-west" "GDK_GRAVITY_SOUTH_WEST")
+    '("south" "GDK_GRAVITY_SOUTH")
+    '("south-east" "GDK_GRAVITY_SOUTH_EAST")
+    '("static" "GDK_GRAVITY_STATIC")
+  )
+)
+
 (define-enum ByteOrder
   (in-module "Gdk")
   (c-name "GdkByteOrder")
@@ -675,15 +673,6 @@
 
 ;; From gdkcairo.h
 
-(define-function gdk_cairo_get_clip_rectangle
-  (c-name "gdk_cairo_get_clip_rectangle")
-  (return-type "gboolean")
-  (parameters
-    '("cairo_t*" "cr")
-    '("GdkRectangle*" "rect")
-  )
-)
-
 (define-function gdk_cairo_set_source_rgba
   (c-name "gdk_cairo_set_source_rgba")
   (return-type "none")
@@ -1366,32 +1355,30 @@
   )
 )
 
-(define-function gdk_content_provider_new_for_bytes
-  (c-name "gdk_content_provider_new_for_bytes")
+(define-function gdk_content_provider_new_typed
+  (c-name "gdk_content_provider_new_typed")
   (return-type "GdkContentProvider*")
   (parameters
-    '("const-char*" "mime_type")
-    '("GBytes*" "bytes")
+    '("GType" "type")
   )
+  (varargs #t)
 )
 
-(define-function gdk_content_provider_new_with_callback
-  (c-name "gdk_content_provider_new_with_callback")
+(define-function gdk_content_provider_new_union
+  (c-name "gdk_content_provider_new_union")
   (return-type "GdkContentProvider*")
   (parameters
-    '("GType" "type")
-    '("GdkContentProviderGetValueFunc" "func")
-    '("gpointer" "data")
+    '("GdkContentProvider**" "providers")
+    '("gsize" "n_providers")
   )
 )
 
-(define-function gdk_content_provider_new_with_formats
-  (c-name "gdk_content_provider_new_with_formats")
+(define-function gdk_content_provider_new_for_bytes
+  (c-name "gdk_content_provider_new_for_bytes")
   (return-type "GdkContentProvider*")
   (parameters
-    '("GdkContentFormats*" "formats")
-    '("GdkContentProviderGetBytesFunc" "func")
-    '("gpointer" "data")
+    '("const-char*" "mime_type")
+    '("GBytes*" "bytes")
   )
 )
 
@@ -1721,10 +1708,10 @@
   (return-type "gint")
 )
 
-(define-method list_axes
+(define-method get_axis_names
   (of-object "GdkDevice")
-  (c-name "gdk_device_list_axes")
-  (return-type "GList*")
+  (c-name "gdk_device_get_axis_names")
+  (return-type "char**")
 )
 
 (define-method get_axis_value
@@ -1733,7 +1720,7 @@
   (return-type "gboolean")
   (parameters
     '("gdouble*" "axes")
-    '("GdkAtom" "axis_label")
+    '("const-char*" "axis_label")
     '("gdouble*" "value")
   )
 )
@@ -1964,7 +1951,7 @@
   (c-name "gdk_display_put_event")
   (return-type "none")
   (parameters
-    '("const-GdkEvent*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -2417,19 +2404,22 @@
   (return-type "GType")
 )
 
-(define-function gdk_event_new
-  (c-name "gdk_event_new")
-  (is-constructor-of "GdkEvent")
+(define-method ref
+  (of-object "GdkEvent")
+  (c-name "gdk_event_ref")
   (return-type "GdkEvent*")
-  (parameters
-    '("GdkEventType" "type")
-  )
 )
 
-(define-method copy
+(define-method unref
   (of-object "GdkEvent")
-  (c-name "gdk_event_copy")
-  (return-type "GdkEvent*")
+  (c-name "gdk_event_unref")
+  (return-type "none")
+)
+
+(define-method get_event_type
+  (of-object "GdkEvent")
+  (c-name "gdk_event_get_event_type")
+  (return-type "GdkEventType")
 )
 
 (define-method get_surface
@@ -2438,427 +2428,329 @@
   (return-type "GdkSurface*")
 )
 
-(define-method get_time
+(define-method get_device
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_time")
-  (return-type "guint32")
+  (c-name "gdk_event_get_device")
+  (return-type "GdkDevice*")
 )
 
-(define-method get_state
+(define-method get_source_device
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_state")
-  (return-type "gboolean")
-  (parameters
-    '("GdkModifierType*" "state")
-  )
+  (c-name "gdk_event_get_source_device")
+  (return-type "GdkDevice*")
 )
 
-(define-method get_coords
+(define-method get_device_tool
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_coords")
-  (return-type "gboolean")
-  (parameters
-    '("gdouble*" "x_win")
-    '("gdouble*" "y_win")
-  )
+  (c-name "gdk_event_get_device_tool")
+  (return-type "GdkDeviceTool*")
 )
 
-(define-method set_coords
+(define-method get_time
   (of-object "GdkEvent")
-  (c-name "gdk_event_set_coords")
-  (return-type "none")
-  (parameters
-    '("gdouble" "x")
-    '("gdouble" "y")
-  )
+  (c-name "gdk_event_get_time")
+  (return-type "guint32")
 )
 
-(define-method get_button
+(define-method get_display
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_button")
-  (return-type "gboolean")
-  (parameters
-    '("guint*" "button")
-  )
+  (c-name "gdk_event_get_display")
+  (return-type "GdkDisplay*")
 )
 
-(define-method get_click_count
+(define-method get_event_sequence
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_click_count")
-  (return-type "gboolean")
-  (parameters
-    '("guint*" "click_count")
-  )
+  (c-name "gdk_event_get_event_sequence")
+  (return-type "GdkEventSequence*")
 )
 
-(define-method get_keyval
+(define-method get_modifier_state
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_keyval")
-  (return-type "gboolean")
-  (parameters
-    '("guint*" "keyval")
-  )
+  (c-name "gdk_event_get_modifier_state")
+  (return-type "GdkModifierType")
 )
 
-(define-method set_keyval
+(define-method get_position
   (of-object "GdkEvent")
-  (c-name "gdk_event_set_keyval")
-  (return-type "none")
+  (c-name "gdk_event_get_position")
+  (return-type "gboolean")
   (parameters
-    '("guint" "keyval")
+    '("double*" "x")
+    '("double*" "y")
   )
 )
 
-(define-method get_keycode
+(define-method get_axes
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_keycode")
+  (c-name "gdk_event_get_axes")
   (return-type "gboolean")
   (parameters
-    '("guint16*" "keycode")
+    '("double**" "axes")
+    '("guint*" "n_axes")
   )
 )
 
-(define-method get_key_is_modifier
+(define-method get_axis
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_key_is_modifier")
+  (c-name "gdk_event_get_axis")
   (return-type "gboolean")
   (parameters
-    '("gboolean*" "is_modifier")
+    '("GdkAxisUse" "axis_use")
+    '("double*" "value")
   )
 )
 
-(define-method get_key_group
+(define-method get_pointer_emulated
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_key_group")
+  (c-name "gdk_event_get_pointer_emulated")
   (return-type "gboolean")
-  (parameters
-    '("guint*" "group")
-  )
 )
 
-(define-method get_scroll_direction
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_scroll_direction")
-  (return-type "gboolean")
+(define-function gdk_button_event_get_button
+  (c-name "gdk_button_event_get_button")
+  (return-type "guint")
   (parameters
-    '("GdkScrollDirection*" "direction")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_scroll_deltas
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_scroll_deltas")
-  (return-type "gboolean")
+(define-function gdk_scroll_event_get_direction
+  (c-name "gdk_scroll_event_get_direction")
+  (return-type "GdkScrollDirection")
   (parameters
-    '("gdouble*" "delta_x")
-    '("gdouble*" "delta_y")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method is_scroll_stop_event
-  (of-object "GdkEvent")
-  (c-name "gdk_event_is_scroll_stop_event")
-  (return-type "gboolean")
+(define-function gdk_scroll_event_get_deltas
+  (c-name "gdk_scroll_event_get_deltas")
+  (return-type "none")
+  (parameters
+    '("GdkEvent*" "event")
+    '("double*" "delta_x")
+    '("double*" "delta_y")
+  )
 )
 
-(define-method get_axis
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_axis")
+(define-function gdk_scroll_event_is_stop
+  (c-name "gdk_scroll_event_is_stop")
   (return-type "gboolean")
   (parameters
-    '("GdkAxisUse" "axis_use")
-    '("gdouble*" "value")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method set_device
-  (of-object "GdkEvent")
-  (c-name "gdk_event_set_device")
-  (return-type "none")
+(define-function gdk_key_event_get_keyval
+  (c-name "gdk_key_event_get_keyval")
+  (return-type "guint")
   (parameters
-    '("GdkDevice*" "device")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_device
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_device")
-  (return-type "GdkDevice*")
-)
-
-(define-method set_source_device
-  (of-object "GdkEvent")
-  (c-name "gdk_event_set_source_device")
-  (return-type "none")
+(define-function gdk_key_event_get_keycode
+  (c-name "gdk_key_event_get_keycode")
+  (return-type "guint")
   (parameters
-    '("GdkDevice*" "device")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_source_device
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_source_device")
-  (return-type "GdkDevice*")
+(define-function gdk_key_event_get_scancode
+  (c-name "gdk_key_event_get_scancode")
+  (return-type "guint")
+  (parameters
+    '("GdkEvent*" "event")
+  )
 )
 
-(define-method triggers_context_menu
-  (of-object "GdkEvent")
-  (c-name "gdk_event_triggers_context_menu")
-  (return-type "gboolean")
+(define-function gdk_key_event_get_group
+  (c-name "gdk_key_event_get_group")
+  (return-type "guint")
+  (parameters
+    '("GdkEvent*" "event")
+  )
 )
 
-(define-method s_get_distance
-  (of-object "GdkEvent")
-  (c-name "gdk_events_get_distance")
+(define-function gdk_key_event_is_modifier
+  (c-name "gdk_key_event_is_modifier")
   (return-type "gboolean")
   (parameters
-    '("GdkEvent*" "event2")
-    '("gdouble*" "distance")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method s_get_angle
-  (of-object "GdkEvent")
-  (c-name "gdk_events_get_angle")
+(define-function gdk_focus_event_get_in
+  (c-name "gdk_focus_event_get_in")
   (return-type "gboolean")
   (parameters
-    '("GdkEvent*" "event2")
-    '("gdouble*" "angle")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method s_get_center
-  (of-object "GdkEvent")
-  (c-name "gdk_events_get_center")
+(define-function gdk_touch_event_get_emulating_pointer
+  (c-name "gdk_touch_event_get_emulating_pointer")
   (return-type "gboolean")
   (parameters
-    '("GdkEvent*" "event2")
-    '("gdouble*" "x")
-    '("gdouble*" "y")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method set_display
-  (of-object "GdkEvent")
-  (c-name "gdk_event_set_display")
-  (return-type "none")
+(define-function gdk_crossing_event_get_mode
+  (c-name "gdk_crossing_event_get_mode")
+  (return-type "GdkCrossingMode")
   (parameters
-    '("GdkDisplay*" "display")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_display
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_display")
-  (return-type "GdkDisplay*")
-)
-
-(define-method get_event_sequence
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_event_sequence")
-  (return-type "GdkEventSequence*")
-)
-
-(define-method get_event_type
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_event_type")
-  (return-type "GdkEventType")
-)
-
-(define-method get_seat
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_seat")
-  (return-type "GdkSeat*")
-)
-
-(define-function gdk_set_show_events
-  (c-name "gdk_set_show_events")
-  (return-type "none")
+(define-function gdk_crossing_event_get_detail
+  (c-name "gdk_crossing_event_get_detail")
+  (return-type "GdkNotifyType")
   (parameters
-    '("gboolean" "show_events")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-function gdk_get_show_events
-  (c-name "gdk_get_show_events")
-  (return-type "gboolean")
-)
-
-(define-method get_device_tool
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_device_tool")
-  (return-type "GdkDeviceTool*")
-)
-
-(define-method set_device_tool
-  (of-object "GdkEvent")
-  (c-name "gdk_event_set_device_tool")
+(define-function gdk_configure_event_get_size
+  (c-name "gdk_configure_event_get_size")
   (return-type "none")
   (parameters
-    '("GdkDeviceTool*" "tool")
+    '("GdkEvent*" "event")
+    '("int*" "width")
+    '("int*" "height")
   )
 )
 
-(define-method get_scancode
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_scancode")
-  (return-type "int")
-)
-
-(define-method get_pointer_emulated
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_pointer_emulated")
-  (return-type "gboolean")
-)
-
-(define-method is_sent
-  (of-object "GdkEvent")
-  (c-name "gdk_event_is_sent")
-  (return-type "gboolean")
-)
-
-(define-method get_drop
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_drop")
-  (return-type "GdkDrop*")
+(define-function gdk_touchpad_event_get_gesture_phase
+  (c-name "gdk_touchpad_event_get_gesture_phase")
+  (return-type "GdkTouchpadGesturePhase")
+  (parameters
+    '("GdkEvent*" "event")
+  )
 )
 
-(define-method get_crossing_mode
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_crossing_mode")
-  (return-type "gboolean")
+(define-function gdk_touchpad_event_get_n_fingers
+  (c-name "gdk_touchpad_event_get_n_fingers")
+  (return-type "guint")
   (parameters
-    '("GdkCrossingMode*" "mode")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_crossing_detail
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_crossing_detail")
-  (return-type "gboolean")
+(define-function gdk_touchpad_event_get_deltas
+  (c-name "gdk_touchpad_event_get_deltas")
+  (return-type "none")
   (parameters
-    '("GdkNotifyType*" "detail")
+    '("GdkEvent*" "event")
+    '("double*" "dx")
+    '("double*" "dy")
   )
 )
 
-(define-method get_touchpad_gesture_phase
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touchpad_gesture_phase")
-  (return-type "gboolean")
+(define-function gdk_touchpad_pinch_event_get_angle_delta
+  (c-name "gdk_touchpad_pinch_event_get_angle_delta")
+  (return-type "double")
   (parameters
-    '("GdkTouchpadGesturePhase*" "phase")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_touchpad_gesture_n_fingers
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touchpad_gesture_n_fingers")
-  (return-type "gboolean")
+(define-function gdk_touchpad_pinch_event_get_scale
+  (c-name "gdk_touchpad_pinch_event_get_scale")
+  (return-type "double")
   (parameters
-    '("guint*" "n_fingers")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_touchpad_deltas
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touchpad_deltas")
-  (return-type "gboolean")
+(define-function gdk_pad_button_event_get_button
+  (c-name "gdk_pad_button_event_get_button")
+  (return-type "guint")
   (parameters
-    '("double*" "dx")
-    '("double*" "dy")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_touchpad_angle_delta
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touchpad_angle_delta")
-  (return-type "gboolean")
+(define-function gdk_pad_axis_event_get_value
+  (c-name "gdk_pad_axis_event_get_value")
+  (return-type "none")
   (parameters
-    '("double*" "delta")
+    '("GdkEvent*" "event")
+    '("guint*" "index")
+    '("double*" "value")
   )
 )
 
-(define-method get_touchpad_scale
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touchpad_scale")
-  (return-type "gboolean")
+(define-function gdk_pad_event_get_group_mode
+  (c-name "gdk_pad_event_get_group_mode")
+  (return-type "none")
   (parameters
-    '("double*" "scale")
+    '("GdkEvent*" "event")
+    '("guint*" "group")
+    '("guint*" "mode")
   )
 )
 
-(define-method get_touch_emulating_pointer
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_touch_emulating_pointer")
-  (return-type "gboolean")
+(define-function gdk_drag_event_get_drop
+  (c-name "gdk_drag_event_get_drop")
+  (return-type "GdkDrop*")
   (parameters
-    '("gboolean*" "emulating")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_grab_surface
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_grab_surface")
-  (return-type "gboolean")
+(define-function gdk_grab_broken_event_get_grab_surface
+  (c-name "gdk_grab_broken_event_get_grab_surface")
+  (return-type "GdkSurface*")
   (parameters
-    '("GdkSurface**" "surface")
+    '("GdkEvent*" "event")
   )
 )
 
-(define-method get_focus_in
+(define-method get_motion_history
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_focus_in")
-  (return-type "gboolean")
-  (parameters
-    '("gboolean*" "focus_in")
-  )
+  (c-name "gdk_event_get_motion_history")
+  (return-type "GList*")
 )
 
-(define-method get_pad_group_mode
+(define-method triggers_context_menu
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_pad_group_mode")
+  (c-name "gdk_event_triggers_context_menu")
   (return-type "gboolean")
-  (parameters
-    '("guint*" "group")
-    '("guint*" "mode")
-  )
 )
 
-(define-method get_pad_button
+(define-method s_get_distance
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_pad_button")
+  (c-name "gdk_events_get_distance")
   (return-type "gboolean")
   (parameters
-    '("guint*" "button")
+    '("GdkEvent*" "event2")
+    '("double*" "distance")
   )
 )
 
-(define-method get_pad_axis_value
+(define-method s_get_angle
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_pad_axis_value")
+  (c-name "gdk_events_get_angle")
   (return-type "gboolean")
   (parameters
-    '("guint*" "index")
-    '("gdouble*" "value")
+    '("GdkEvent*" "event2")
+    '("double*" "angle")
   )
 )
 
-(define-method get_axes
+(define-method s_get_center
   (of-object "GdkEvent")
-  (c-name "gdk_event_get_axes")
+  (c-name "gdk_events_get_center")
   (return-type "gboolean")
   (parameters
-    '("gdouble**" "axes")
-    '("guint*" "n_axes")
+    '("GdkEvent*" "event2")
+    '("double*" "x")
+    '("double*" "y")
   )
 )
 
-(define-method get_motion_history
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_motion_history")
-  (return-type "GList*")
-)
-
 
 
 ;; From gdkframeclock.h
@@ -3601,26 +3493,128 @@
 
 
 
-;; From gdkproperty.h
+;; From gdkpopuplayout.h
 
-(define-function gdk_text_property_to_utf8_list_for_display
-  (c-name "gdk_text_property_to_utf8_list_for_display")
-  (return-type "gint")
+(define-function gdk_popup_layout_get_type
+  (c-name "gdk_popup_layout_get_type")
+  (return-type "GType")
+)
+
+(define-function gdk_popup_layout_new
+  (c-name "gdk_popup_layout_new")
+  (is-constructor-of "GdkPopupLayout")
+  (return-type "GdkPopupLayout*")
   (parameters
-    '("GdkDisplay*" "display")
-    '("GdkAtom" "encoding")
-    '("gint" "format")
-    '("const-guchar*" "text")
-    '("gint" "length")
-    '("gchar***" "list")
+    '("const-GdkRectangle*" "anchor_rect")
+    '("GdkGravity" "rect_anchor")
+    '("GdkGravity" "surface_anchor")
   )
 )
 
-(define-function gdk_utf8_to_string_target
-  (c-name "gdk_utf8_to_string_target")
-  (return-type "gchar*")
+(define-method ref
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_ref")
+  (return-type "GdkPopupLayout*")
+)
+
+(define-method unref
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_unref")
+  (return-type "none")
+)
+
+(define-method copy
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_copy")
+  (return-type "GdkPopupLayout*")
+)
+
+(define-method equal
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_equal")
+  (return-type "gboolean")
+  (parameters
+    '("GdkPopupLayout*" "other")
+  )
+)
+
+(define-method set_anchor_rect
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_set_anchor_rect")
+  (return-type "none")
+  (parameters
+    '("const-GdkRectangle*" "anchor_rect")
+  )
+)
+
+(define-method get_anchor_rect
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_get_anchor_rect")
+  (return-type "const-GdkRectangle*")
+)
+
+(define-method set_rect_anchor
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_set_rect_anchor")
+  (return-type "none")
+  (parameters
+    '("GdkGravity" "anchor")
+  )
+)
+
+(define-method get_rect_anchor
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_get_rect_anchor")
+  (return-type "GdkGravity")
+)
+
+(define-method set_surface_anchor
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_set_surface_anchor")
+  (return-type "none")
+  (parameters
+    '("GdkGravity" "anchor")
+  )
+)
+
+(define-method get_surface_anchor
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_get_surface_anchor")
+  (return-type "GdkGravity")
+)
+
+(define-method set_anchor_hints
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_set_anchor_hints")
+  (return-type "none")
   (parameters
-    '("const-gchar*" "str")
+    '("GdkAnchorHints" "anchor_hints")
+  )
+)
+
+(define-method get_anchor_hints
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_get_anchor_hints")
+  (return-type "GdkAnchorHints")
+)
+
+(define-method set_offset
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_set_offset")
+  (return-type "none")
+  (parameters
+    '("int" "dx")
+    '("int" "dy")
+  )
+)
+
+(define-method get_offset
+  (of-object "GdkPopupLayout")
+  (c-name "gdk_popup_layout_get_offset")
+  (return-type "none")
+  (parameters
+    '("int*" "dx")
+    '("int*" "dy")
   )
 )
 
@@ -3811,21 +3805,11 @@
   )
 )
 
-(define-function gdk_surface_new_temp
-  (c-name "gdk_surface_new_temp")
-  (return-type "GdkSurface*")
-  (parameters
-    '("GdkDisplay*" "display")
-    '("const-GdkRectangle*" "position")
-  )
-)
-
-(define-function gdk_surface_new_popup
+(define-method new_popup
+  (of-object "GdkSurface")
   (c-name "gdk_surface_new_popup")
   (return-type "GdkSurface*")
   (parameters
-    '("GdkDisplay*" "display")
-    '("GdkSurface*" "parent")
     '("gboolean" "autohide")
   )
 )
@@ -3888,20 +3872,29 @@
   )
 )
 
-(define-method move_to_rect
+(define-method present_popup
   (of-object "GdkSurface")
-  (c-name "gdk_surface_move_to_rect")
-  (return-type "none")
+  (c-name "gdk_surface_present_popup")
+  (return-type "gboolean")
   (parameters
-    '("const-GdkRectangle*" "rect")
-    '("GdkGravity" "rect_anchor")
-    '("GdkGravity" "surface_anchor")
-    '("GdkAnchorHints" "anchor_hints")
-    '("gint" "rect_anchor_dx")
-    '("gint" "rect_anchor_dy")
+    '("int" "width")
+    '("int" "height")
+    '("GdkPopupLayout*" "layout")
   )
 )
 
+(define-method get_popup_surface_anchor
+  (of-object "GdkSurface")
+  (c-name "gdk_surface_get_popup_surface_anchor")
+  (return-type "GdkGravity")
+)
+
+(define-method get_popup_rect_anchor
+  (of-object "GdkSurface")
+  (c-name "gdk_surface_get_popup_rect_anchor")
+  (return-type "GdkGravity")
+)
+
 (define-method raise
   (of-object "GdkSurface")
   (c-name "gdk_surface_raise")
@@ -4305,12 +4298,6 @@
   )
 )
 
-(define-method register_dnd
-  (of-object "GdkSurface")
-  (c-name "gdk_surface_register_dnd")
-  (return-type "none")
-)
-
 (define-method begin_resize_drag
   (of-object "GdkSurface")
   (c-name "gdk_surface_begin_resize_drag")
@@ -4705,6 +4692,11 @@
   (return-type "GType")
 )
 
+(define-function gdk_anchor_hints_get_type
+  (c-name "gdk_anchor_hints_get_type")
+  (return-type "GType")
+)
+
 (define-function gdk_seat_capabilities_get_type
   (c-name "gdk_seat_capabilities_get_type")
   (return-type "GType")
@@ -4730,16 +4722,6 @@
   (return-type "GType")
 )
 
-(define-function gdk_gravity_get_type
-  (c-name "gdk_gravity_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_anchor_hints_get_type
-  (c-name "gdk_anchor_hints_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_surface_edge_get_type
   (c-name "gdk_surface_edge_get_type")
   (return-type "GType")
@@ -4755,6 +4737,11 @@
   (return-type "GType")
 )
 
+(define-function gdk_gravity_get_type
+  (c-name "gdk_gravity_get_type")
+  (return-type "GType")
+)
+
 (define-function gdk_byte_order_get_type
   (c-name "gdk_byte_order_get_type")
   (return-type "GType")
diff --git a/gdk/src/gdk_signals.defs b/gdk/src/gdk_signals.defs
index cd709637..997fce84 100644
--- a/gdk/src/gdk_signals.defs
+++ b/gdk/src/gdk_signals.defs
@@ -592,17 +592,7 @@
   (construct-only #t)
 )
 
-;; From GdkEvent
-
-(define-property event-type
-  (of-object "GdkEvent")
-  (prop-type "GParamEnum")
-  (docs "Event type")
-  (readable #t)
-  (writable #t)
-  (construct-only #t)
-  (default-value "GDK_NOTHING")
-)
+;; GdkEvent is neither a GObject nor a GInterface. Not checked for signals and properties.
 
 ;; From GdkFrameClock
 
@@ -966,16 +956,10 @@
 
 ;; From GdkSurface
 
-(define-signal moved-to-rect
+(define-signal popup-layout-changed
   (of-object "GdkSurface")
   (return-type "void")
   (flags "Run First")
-  (parameters
-    '("gpointer" "p0")
-    '("gpointer" "p1")
-    '("gboolean" "p2")
-    '("gboolean" "p3")
-  )
 )
 
 (define-signal size-changed
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index b382420f..07f1b9a1 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -3224,6 +3224,105 @@ The content width. See gtk_drawing_area_set_content_width() for details.
 </description>
 </property>
 
+<signal name="GtkDropControllerMotion::enter">
+<description>
+Signals that the pointer has entered the widget.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> coordinates of pointer location
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> coordinates of pointer location
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GtkDropControllerMotion::leave">
+<description>
+Signals that the pointer has left the widget.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the object which received the signal
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GtkDropControllerMotion::motion">
+<description>
+Emitted when the pointer moves inside the widget.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> The object that received the signal
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<property name="GtkDropControllerMotion:contains-pointer">
+<description>
+Whether the pointer of a drag and drop operation is in the controller's
+widget or a descendant.
+See also #GtkDropControllerMotion:is-pointer.
+
+When handling crossing events, this property is updated
+before #GtkDropControllerMotion::enter but after
+#GtkDropControllerMotion::leave is emitted.
+
+</description>
+</property>
+
+<property name="GtkDropControllerMotion:drop">
+<description>
+The ongoing drop operation over the controller's widget or its descendant.  
+If no drop operation is going on, this property returns %NULL.
+
+The event controller should not modify the @drop, but it might want to query
+its properties.
+
+When handling crossing events, this property is updated
+before #GtkDropControllerMotion::enter but after
+#GtkDropControllerMotion::leave is emitted.
+
+</description>
+</property>
+
+<property name="GtkDropControllerMotion:is-pointer">
+<description>
+Whether the pointer is in the controllers widget itself,
+as opposed to in a descendent widget. See also
+#GtkDropControllerMotion:contains-pointer.
+
+When handling crossing events, this property is updated
+before #GtkDropControllerMotion::enter but after
+#GtkDropControllerMotion::leave is emitted.
+
+</description>
+</property>
+
 <signal name="GtkDropTarget::drag-drop">
 <description>
 The ::drag-drop signal is emitted on the drop site when the user drops
@@ -3238,7 +3337,7 @@ directly or after receiving the data.
 
 To receive the data, use one of the read functions provides by #GtkDrop
 and #GtkDragDest: gdk_drop_read_async(), gdk_drop_read_value_async(),
-gdk_drop_read_text_async(), gtk_drop_target_read_selection().
+gdk_drop_read_text_async().
 
 You can use gtk_drop_target_get_drop() to obtain the #GtkDrop object
 for the ongoing operation in your signal handler. If you call one of the
@@ -4078,54 +4177,77 @@ The widget receiving the #GdkEvents that the controller will handle.
 </description>
 </property>
 
-<signal name="GtkEventControllerKey::focus-in">
+<signal name="GtkEventControllerFocus::enter">
 <description>
-This signal is emitted whenever the widget controlled
-by the @controller or one of its descendants) is given
-the keyboard focus.
+This signal is emitted whenever the focus enters into the
+widget or one of its descendents.
+
+Note that this means you may not get an ::enter signal
+even though the widget becomes the focus location, in
+certain cases (such as when the focus moves from a descendent
+of the widget to the widget itself). If you are interested
+in these cases, you can monitor the #GtkEventControllerFocus:is-focus
+property for changes.
 
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> crossing mode indicating what caused this change
-</parameter_description>
-</parameter>
-<parameter name="detail">
-<parameter_description> detail indication where the focus is coming from
+<parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
-<signal name="GtkEventControllerKey::focus-out">
+<signal name="GtkEventControllerFocus::leave">
 <description>
-This signal is emitted whenever the widget controlled
-by the @controller (or one of its descendants) loses
-the keyboard focus.
+This signal is emitted whenever the focus leaves the
+widget hierarchy that is rooted at the widget that the
+controller is attached to.
+
+Note that this means you may not get a ::leave signal
+even though the focus moves away from the widget, in
+certain cases (such as when the focus moves from the widget
+to a descendent). If you are interested in these cases, you
+can monitor the #GtkEventControllerFocus:is-focus property
+for changes.
 
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> crossing mode indicating what caused this change
-</parameter_description>
-</parameter>
-<parameter name="detail">
-<parameter_description> detail indication where the focus is going
+<parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </signal>
 
+<property name="GtkEventControllerFocus:contains-focus">
+<description>
+Whether focus is contain in the controllers widget. See
+See #GtkEventControllerFocus:is-focus for whether the focus is in the widget itself
+or inside a descendent.
+
+When handling focus events, this property is updated
+before #GtkEventControllerFocus::focus-in or
+#GtkEventControllerFocus::focus-out are emitted.
+
+</description>
+</property>
+
+<property name="GtkEventControllerFocus:is-focus">
+<description>
+Whether focus is in the controllers widget itself,
+opposed to in a descendent widget. See also
+#GtkEventControllerFocus:contains-focus.
+
+When handling focus events, this property is updated
+before #GtkEventControllerFocus::focus-in or
+#GtkEventControllerFocus::focus-out are emitted.
+
+</description>
+</property>
+
 <signal name="GtkEventControllerKey::im-update">
 <description>
 This signal is emitted whenever the input method context filters away a
@@ -4136,7 +4258,7 @@ gtk_im_context_filter_keypress().
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> the object which received the signal.
+<parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
 </parameters>
@@ -4221,32 +4343,6 @@ pointer buttons. See #GdkModifierType.
 <return></return>
 </signal>
 
-<property name="GtkEventControllerKey:contains-focus">
-<description>
-Whether focus is contain in the controllers widget. See
-See #GtkEventControllerKey:is-focus for whether the focus is in the widget itself
-or inside a descendent.
-
-When handling focus events, this property is updated
-before #GtkEventControllerKey::focus-in or
-#GtkEventControllerKey::focus-out are emitted.
-
-</description>
-</property>
-
-<property name="GtkEventControllerKey:is-focus">
-<description>
-Whether focus is in the controllers widget itself,
-opposed to in a descendent widget. See also
-#GtkEventControllerKey:contains-focus.
-
-When handling focus events, this property is updated
-before #GtkEventControllerKey::focus-in or
-#GtkEventControllerKey::focus-out are emitted.
-
-</description>
-</property>
-
 <signal name="GtkEventControllerLegacy::event">
 <description>
 Emitted for each GDK event delivered to @controller.
@@ -4275,23 +4371,19 @@ Signals that the pointer has entered the widget.
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> The object that received the signal
+<parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
 <parameter name="x">
-<parameter_description> the x coordinate
+<parameter_description> coordinates of pointer location
 </parameter_description>
 </parameter>
 <parameter name="y">
-<parameter_description> the y coordinate
-</parameter_description>
-</parameter>
-<parameter name="crossing_mode">
-<parameter_description> the crossing mode of this event
+<parameter_description> coordinates of pointer location
 </parameter_description>
 </parameter>
-<parameter name="notify_type">
-<parameter_description> the kind of crossing event
+<parameter name="mode">
+<parameter_description> crossing mode
 </parameter_description>
 </parameter>
 </parameters>
@@ -4300,20 +4392,16 @@ Signals that the pointer has entered the widget.
 
 <signal name="GtkEventControllerMotion::leave">
 <description>
-Signals that pointer has left the widget.
+Signals that the pointer has left the widget.
 
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> The object that received the signal
-</parameter_description>
-</parameter>
-<parameter name="crossing_mode">
-<parameter_description> the crossing mode of this event
+<parameter_description> the object which received the signal
 </parameter_description>
 </parameter>
-<parameter name="notify_type">
-<parameter_description> the kind of crossing event
+<parameter name="mode">
+<parameter_description> crossing mode
 </parameter_description>
 </parameter>
 </parameters>
@@ -4348,8 +4436,8 @@ Whether the pointer is in the controllers widget or a descendant.
 See also #GtkEventControllerMotion:is-pointer.
 
 When handling crossing events, this property is updated
-before #GtkEventControllerMotion::enter or
-#GtkEventControllerMotion::leave are emitted.
+before #GtkEventControllerMotion::enter but after
+#GtkEventControllerMotion::leave is emitted.
 
 </description>
 </property>
@@ -4361,8 +4449,8 @@ as opposed to in a descendent widget. See also
 #GtkEventControllerMotion:contains-pointer.
 
 When handling crossing events, this property is updated
-before #GtkEventControllerMotion::enter or
-#GtkEventControllerMotion::leave are emitted.
+before #GtkEventControllerMotion::enter but after
+#GtkEventControllerMotion::leave is emitted.
 
 </description>
 </property>
@@ -4517,80 +4605,6 @@ widget containing the expander upon expanding and collapsing.
 </description>
 </property>
 
-<signal name="GtkFileChooser::confirm-overwrite">
-<description>
-This signal gets emitted whenever it is appropriate to present a
-confirmation dialog when the user has selected a file name that
-already exists.  The signal only gets emitted when the file
-chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode.
-
-Most applications just need to turn on the
-#GtkFileChooser:do-overwrite-confirmation property (or call the
-gtk_file_chooser_set_do_overwrite_confirmation() function), and
-they will automatically get a standard confirmation dialog.
-Applications which need to customize this behavior should do
-that, and also connect to the #GtkFileChooser::confirm-overwrite
-signal.
-
-A signal handler for this signal must return a
-#GtkFileChooserConfirmation value, which indicates the action to
-take.  If the handler determines that the user wants to select a
-different filename, it should return
-%GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN.  If it determines
-that the user is satisfied with his choice of file name, it
-should return %GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME.
-On the other hand, if it determines that the standard confirmation
-dialog should be used, it should return
-%GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example
-illustrates this.
-
-## Custom confirmation ## {#gtkfilechooser-confirmation}
-
-|[&lt;!-- language=&quot;C&quot; --&gt;
-static GtkFileChooserConfirmation
-confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
-{
-char *uri;
-
-uri = gtk_file_chooser_get_uri (chooser);
-
-if (is_uri_read_only (uri))
-{
-if (user_wants_to_replace_read_only_file (uri))
-return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
-else
-return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
-} else
-return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog
-}
-
-...
-
-chooser = gtk_file_chooser_dialog_new (...);
-
-gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
-g_signal_connect (chooser, &quot;confirm-overwrite&quot;,
-G_CALLBACK (confirm_overwrite_callback), NULL);
-
-if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
-save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
-
-gtk_widget_destroy (chooser);
-]|
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-</parameters>
-<return> a #GtkFileChooserConfirmation value that indicates which
-action to take after emitting the signal.
-</return>
-</signal>
-
 <signal name="GtkFileChooser::current-folder-changed">
 <description>
 This signal is emitted when the current folder in a #GtkFileChooser
@@ -4604,8 +4618,6 @@ track of which folder a file chooser is showing.
 
 See also:  gtk_file_chooser_set_current_folder(),
 gtk_file_chooser_get_current_folder(),
-gtk_file_chooser_set_current_folder_uri(),
-gtk_file_chooser_get_current_folder_uri().
 
 </description>
 <parameters>
@@ -4627,9 +4639,7 @@ Normally you do not need to connect to this signal.  It is used internally
 by #GtkFileChooserDialog to know when to activate the default button in the
 dialog.
 
-See also: gtk_file_chooser_get_filename(),
-gtk_file_chooser_get_filenames(), gtk_file_chooser_get_uri(),
-gtk_file_chooser_get_uris().
+See also: gtk_file_chooser_get_file(), gtk_file_chooser_get_files()
 
 </description>
 <parameters>
@@ -4652,47 +4662,6 @@ Normally you do not need to connect to this signal, as it is easier to wait
 for the file chooser to finish running, and then to get the list of
 selected files using the functions mentioned below.
 
-See also: gtk_file_chooser_select_filename(),
-gtk_file_chooser_unselect_filename(), gtk_file_chooser_get_filename(),
-gtk_file_chooser_get_filenames(), gtk_file_chooser_select_uri(),
-gtk_file_chooser_unselect_uri(), gtk_file_chooser_get_uri(),
-gtk_file_chooser_get_uris().
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</signal>
-
-<signal name="GtkFileChooser::update-preview">
-<description>
-This signal is emitted when the preview in a file chooser should be
-regenerated.  For example, this can happen when the currently selected file
-changes.  You should use this signal if you want your file chooser to have
-a preview widget.
-
-Once you have installed a preview widget with
-gtk_file_chooser_set_preview_widget(), you should update it when this
-signal is emitted.  You can use the functions
-gtk_file_chooser_get_preview_filename() or
-gtk_file_chooser_get_preview_uri() to get the name of the file to preview.
-Your widget may not be able to preview all kinds of files; your callback
-must call gtk_file_chooser_set_preview_widget_active() to inform the file
-chooser about whether the preview was generated successfully or not.
-
-Please see the example code in
-[Using a Preview Widget][gtkfilechooser-preview].
-
-See also: gtk_file_chooser_set_preview_widget(),
-gtk_file_chooser_set_preview_widget_active(),
-gtk_file_chooser_set_use_preview_label(),
-gtk_file_chooser_get_preview_filename(),
-gtk_file_chooser_get_preview_uri().
-
 </description>
 <parameters>
 <parameter name="chooser">
@@ -4711,15 +4680,6 @@ will offer the user to create new folders.
 </description>
 </property>
 
-<property name="GtkFileChooser:do-overwrite-confirmation">
-<description>
-Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode
-will present an overwrite confirmation dialog if the user
-selects a file name that already exists.
-
-</description>
-</property>
-
 <enum name="GtkFileChooserAction">
 <description>
 Describes whether a #GtkFileChooser is being used to open existing files
@@ -4744,12 +4704,6 @@ selecting folders.  The file chooser will let the user pick an
 existing folder.
 </parameter_description>
 </parameter>
-<parameter name="GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER">
-<parameter_description> Indicates a mode for creating a
-new folder.  The file chooser will let the user name an existing or
-new folder.
-</parameter_description>
-</parameter>
 </parameters>
 </enum>
 
@@ -4791,34 +4745,6 @@ The width of the entry and label inside the button, in characters.
 </description>
 </property>
 
-<enum name="GtkFileChooserConfirmation">
-<description>
-Used as a return value of handlers for the
-#GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This
-value determines whether the file chooser will present the stock
-confirmation dialog, accept the user’s choice of a filename, or
-let the user choose another filename.
-
-</description>
-<parameters>
-<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM">
-<parameter_description> The file chooser will present
-its stock dialog to confirm about overwriting an existing file.
-</parameter_description>
-</parameter>
-<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME">
-<parameter_description> The file chooser will
-terminate and accept the user’s choice of a file name.
-</parameter_description>
-</parameter>
-<parameter name="GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN">
-<parameter_description> The file chooser will
-continue running, so as to let the user select another file name.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GtkFileChooserError">
 <description>
 These identify the various errors that can occur while calling
@@ -5118,6 +5044,16 @@ The default binding for this signal is `Alt + Up`.
 <return></return>
 </signal>
 
+<property name="GtkFileFilter:name">
+<description>
+The human-readable name of the filter.
+
+This is the string that will be displayed in the file selector user
+interface if there is a selectable list of filters.
+
+</description>
+</property>
+
 <enum name="GtkFileFilterFlags">
 <description>
 These flags indicate what parts of a #GtkFileFilterInfo struct
@@ -6456,6 +6392,58 @@ icon theme.
 <return></return>
 </signal>
 
+<property name="GtkIconTheme:display">
+<description>
+The display that this icon theme object is attached to.
+
+</description>
+</property>
+
+<property name="GtkIconTheme:icon-names">
+<description>
+The icon names that are supported by the icon theme.
+
+</description>
+</property>
+
+<property name="GtkIconTheme:resource-path">
+<description>
+Resource paths that will be looked at when looking for icons,
+similar to search paths.
+
+The resources are considered as part of the hicolor icon theme
+and must be located in subdirectories that are defined in the
+hicolor icon theme, such as `@path/16x16/actions/run.png`.
+Icons that are directly placed in the resource path instead
+of a subdirectory are also considered as ultimate fallback.
+
+</description>
+</property>
+
+<property name="GtkIconTheme:search-path">
+<description>
+The search path for this icon theme.
+
+When looking for icons, GTK will search for a subdirectory of
+one or more of the directories in the search path with the same
+name as the icon theme containing an index.theme file. (Themes
+from multiple of the path elements are combined to allow themes
+to be extended by adding icons in the user’s home directory.)
+
+</description>
+</property>
+
+<property name="GtkIconTheme:theme-name">
+<description>
+The name of the icon theme that is being used.
+
+Unless set to a different value, this will be the value of
+the #GtkSettings:gtk-icon-theme-name property of the #GtkSettings
+object associated to the display of the icontheme object. 
+
+</description>
+</property>
+
 <enum name="GtkIconThemeError">
 <description>
 Error codes for GtkIconTheme operations.
@@ -14765,6 +14753,13 @@ hidden).
 <return></return>
 </signal>
 
+<property name="GtkWidget:css-classes">
+<description>
+A list of css classes applied to this widget.
+
+</description>
+</property>
+
 <property name="GtkWidget:css-name">
 <description>
 The name of this widget in the CSS tree.
@@ -15180,35 +15175,6 @@ more details about transient windows.
 </description>
 </property>
 
-<enum name="GtkWindowType">
-<description>
-A #GtkWindow can be one of these types. Most things you’d consider a
-“window” should have type #GTK_WINDOW_TOPLEVEL; windows with this type
-are managed by the window manager and have a frame by default (call
-gtk_window_set_decorated() to toggle the frame).  Windows with type
-#GTK_WINDOW_POPUP are ignored by the window manager; window manager
-keybindings won’t work on them, the window manager won’t decorate the
-window with a frame, many GTK+ features that rely on the window
-manager will not work (e.g. maximization/minimization).
-#GTK_WINDOW_POPUP is used to implement
-widgets such as #GtkMenu or tooltips that you normally don’t think of
-as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL.
-In particular, do not use #GTK_WINDOW_POPUP just to turn off
-the window borders; use gtk_window_set_decorated() for that.
-
-</description>
-<parameters>
-<parameter name="GTK_WINDOW_TOPLEVEL">
-<parameter_description> A regular window, such as a dialog.
-</parameter_description>
-</parameter>
-<parameter name="GTK_WINDOW_POPUP">
-<parameter_description> A special window such as a tooltip.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GtkWrapMode">
 <description>
 Describes a type of line wrapping.
@@ -15435,7 +15401,9 @@ Returns the paintable displayed as logo in the about dialog.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the paintable displayed as logo. The
+<return> the paintable displayed as
+logo or %NULL if the logo is unset or has been set via
+gtk_about_dialog_set_logo_icon_name(). The
 paintable is owned by the about dialog. If you want to keep a
 reference to it, you have to call g_object_ref() on it.
 </return>
@@ -15453,8 +15421,9 @@ Returns the icon name displayed as logo in the about dialog.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the icon name displayed as logo. The string is
-owned by the dialog. If you want to keep a reference
+<return> the icon name displayed as logo or %NULL
+if the logo has been set via gtk_about_dialog_set_logo().
+The string is owned by the dialog. If you want to keep a reference
 to it, you have to call g_strdup() on it.
 </return>
 </function>
@@ -15729,9 +15698,7 @@ gtk_about_dialog_set_license().
 
 <function name="gtk_about_dialog_set_logo">
 <description>
-Sets the surface to be displayed as logo in the about dialog.
-If it is %NULL, the default window icon set with
-gtk_window_set_default_icon() will be used.
+Sets the logo in the about dialog.
 
 </description>
 <parameters>
@@ -15749,9 +15716,7 @@ gtk_window_set_default_icon() will be used.
 
 <function name="gtk_about_dialog_set_logo_icon_name">
 <description>
-Sets the surface to be displayed as logo in the about dialog.
-If it is %NULL, the default window icon set with
-gtk_window_set_default_icon() will be used.
+Sets the icon name to be displayed as logo in the about dialog.
 
 </description>
 <parameters>
@@ -19972,7 +19937,7 @@ Looks up key bindings for @object to find one matching
 </parameter_description>
 </parameter>
 <parameter name="event">
-<parameter_description> a #GdkEventKey
+<parameter_description> a key event
 </parameter_description>
 </parameter>
 </parameters>
@@ -21063,6 +21028,27 @@ gtk_builder_cscope_add_callback_symbol() for each symbol.
 <return></return>
 </function>
 
+<function name="gtk_builder_cscope_lookup_callback_symbol">
+<description>
+Fetches a symbol previously added to @self
+with gtk_builder_cscope_add_callback_symbol().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkBuilderCScope
+</parameter_description>
+</parameter>
+<parameter name="callback_name">
+<parameter_description> The name of the callback
+</parameter_description>
+</parameter>
+</parameters>
+<return> The callback symbol in @builder for @callback_name, or %NULL
+</return>
+</function>
+
 <function name="gtk_builder_cscope_new">
 <description>
 Creates a new #GtkbuilderCScope object to use with future #GtkBuilder
@@ -21259,27 +21245,6 @@ if no type was found
 </return>
 </function>
 
-<function name="gtk_builder_lookup_callback_symbol">
-<description>
-Fetches a symbol previously added to @self
-with gtk_builder_cscope_add_callback_symbol().
-
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GtkBuilderCScope
-</parameter_description>
-</parameter>
-<parameter name="callback_name">
-<parameter_description> The name of the callback
-</parameter_description>
-</parameter>
-</parameters>
-<return> The callback symbol in @builder for @callback_name, or %NULL
-</return>
-</function>
-
 <function name="gtk_builder_new">
 <description>
 Creates a new empty builder object.
@@ -21758,7 +21723,7 @@ Remove all visual markers.
 
 </description>
 <parameters>
-<parameter name="calendar">
+<parameter name="self">
 <parameter_description> a #GtkCalendar
 </parameter_description>
 </parameter>
@@ -21870,7 +21835,7 @@ Will switch to @date's year and month and select its day.
 
 </description>
 <parameters>
-<parameter name="calendar">
+<parameter name="self">
 <parameter_description> a #GtkCalendar.
 </parameter_description>
 </parameter>
@@ -28414,7 +28379,7 @@ default request mode is %GTK_SIZE_REQUEST_CONSTANT_SIZE
 </parameter_description>
 </parameter>
 <parameter name="allocate">
-<parameter_description>  a function to allocate the children of the widget using
+<parameter_description> a function to allocate the children of the widget using
 the layout manager
 </parameter_description>
 </parameter>
@@ -29270,6 +29235,67 @@ the drawing area's contents
 <return></return>
 </function>
 
+<function name="gtk_drop_controller_motion_contains_pointer">
+<description>
+Returns the value of the GtkDropControllerMotion:contains-pointer property.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropControllerMotion
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a dragging pointer is within @self or one of its children.
+</return>
+</function>
+
+<function name="gtk_drop_controller_motion_get_drop">
+<description>
+Returns the value of the GtkDropControllerMotion:drop property.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropControllerMotion
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkDrop currently happening within @self or %NULL if none
+</return>
+</function>
+
+<function name="gtk_drop_controller_motion_is_pointer">
+<description>
+Returns the value of the GtkDropControllerMotion:is-pointer property.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkEventControllerKey
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a dragging pointer is within @self but not one of its children
+</return>
+</function>
+
+<function name="gtk_drop_controller_motion_new">
+<description>
+Creates a new event controller that will handle pointer motion
+events during drag and drop.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkDropControllerMotion
+</return>
+</function>
+
 <function name="gtk_drop_target_deny_drop">
 <description>
 Sets the @drop as not accepted on this drag site.
@@ -29346,6 +29372,8 @@ Returns the underlying #GtkDrop object for an ongoing drag.
 <description>
 Gets the data formats that this drop target accepts.
 
+If the result is %NULL, all formats are expected to be supported.
+
 
 </description>
 <parameters>
@@ -29378,68 +29406,6 @@ Creates a new #GtkDropTarget object.
 </return>
 </function>
 
-<function name="gtk_drop_target_read_selection">
-<description>
-Asynchronously reads the dropped data from an ongoing
-drag on a #GtkDropTarget, and returns the data in a 
-#GtkSelectionData object.
-
-This function is meant for cases where a #GtkSelectionData
-object is needed, such as when using the #GtkTreeModel DND
-support. In most other cases, the #GdkDrop async read
-APIs that return in input stream or #GValue are more
-convenient and should be preferred.
-
-</description>
-<parameters>
-<parameter name="dest">
-<parameter_description> a #GtkDropTarget
-</parameter_description>
-</parameter>
-<parameter name="target">
-<parameter_description> the data format to read
-</parameter_description>
-</parameter>
-<parameter name="cancellable">
-<parameter_description> a cancellable
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> callback to call on completion
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> data to pass to @callback
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_drop_target_read_selection_finish">
-<description>
-Finishes an async drop read operation, see gtk_drop_target_read_selection().
-
-
-</description>
-<parameters>
-<parameter name="dest">
-<parameter_description> a #GtkDropTarget
-</parameter_description>
-</parameter>
-<parameter name="result">
-<parameter_description> a #GAsyncResult
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> location to store error information on failure, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return> the #GtkSelectionData, or %NULL
-</return>
-</function>
-
 <function name="gtk_drop_target_set_actions">
 <description>
 Sets the actions that this drop target supports.
@@ -32085,42 +32051,53 @@ all printers are enumerated; otherwise return early
 <return></return>
 </function>
 
-<function name="gtk_event_controller_get_propagation_phase">
+<function name="gtk_event_controller_focus_contains_focus">
 <description>
-Gets the propagation phase at which @controller handles events.
+Returns the value of the GtkEventControllerFocus:contains-focus property.
 
 
 </description>
 <parameters>
-<parameter name="controller">
-<parameter_description> a #GtkEventController
+<parameter name="self">
+<parameter_description> a #GtkEventControllerFocus
 </parameter_description>
 </parameter>
 </parameters>
-<return> the propagation phase
+<return> %TRUE if focus is within @self or one of its children
 </return>
 </function>
 
-<function name="gtk_event_controller_get_widget">
+<function name="gtk_event_controller_focus_is_focus">
 <description>
-Returns the #GtkWidget this controller relates to.
+Returns the value of the GtkEventControllerFocus:is-focus property.
 
 
 </description>
 <parameters>
-<parameter name="controller">
-<parameter_description> a #GtkEventController
+<parameter name="self">
+<parameter_description> a #GtkEventControllerFocus
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GtkWidget
+<return> %TRUE if focus is within @self but not one of its children
 </return>
 </function>
 
-<function name="gtk_event_controller_handle_event">
+<function name="gtk_event_controller_focus_new">
 <description>
-Feeds an event into @controller, so it can be interpreted
-and the controller actions triggered.
+Creates a new event controller that will handle focus events.
+
+
+</description>
+<parameters>
+</parameters>
+<return> a new #GtkEventControllerFocus
+</return>
+</function>
+
+<function name="gtk_event_controller_get_propagation_phase">
+<description>
+Gets the propagation phase at which @controller handles events.
 
 
 </description>
@@ -32129,86 +32106,98 @@ and the controller actions triggered.
 <parameter_description> a #GtkEventController
 </parameter_description>
 </parameter>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if the event was potentially useful to trigger the
-controller action
+<return> the propagation phase
 </return>
 </function>
 
-<function name="gtk_event_controller_key_contains_focus">
+<function name="gtk_event_controller_get_widget">
 <description>
-Returns the value of the GtkEventControllerKey:contains-focus property.
+Returns the #GtkWidget this controller relates to.
 
 
 </description>
 <parameters>
-<parameter name="self">
-<parameter_description> a #GtkEventControllerKey
+<parameter name="controller">
+<parameter_description> a #GtkEventController
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if focus is within @self or one of its children
+<return> a #GtkWidget
 </return>
 </function>
 
-<function name="gtk_event_controller_key_forward">
+<function name="gtk_event_controller_handle_crossing">
 <description>
-Forwards the current event of this @controller to a @widget.
-
-This function can only be used in handlers for the
-#GtkEventControllerKey::key-pressed,
-#GtkEventControllerKey::key-released
-or
-#GtkEventControllerKey::modifiers
-signals.
-
+Feeds a crossing event into @controller, so it can be interpreted
+and the controller actions triggered.
 
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> a #GtkEventControllerKey
+<parameter_description> a #GtkEventController
 </parameter_description>
 </parameter>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
+<parameter name="crossing">
+<parameter_description> a #GtkCrossingData
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> translated event coordinates
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> translated event coordinates
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether the @widget handled the event
-</return>
+<return></return>
 </function>
 
-<function name="gtk_event_controller_key_get_focus_origin">
+<function name="gtk_event_controller_handle_event">
 <description>
-Returns the widget that was holding focus before.
-
-This function can only be used in handlers for the
-#GtkEventControllerKey::focus-in and
-#GtkEventControllerKey::focus-out signals.
+Feeds an event into @controller, so it can be interpreted
+and the controller actions triggered.
 
 
 </description>
 <parameters>
 <parameter name="controller">
-<parameter_description> a #GtkEventControllerKey
+<parameter_description> a #GtkEventController
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> a #GdkEvent
+</parameter_description>
+</parameter>
+<parameter name="target">
+<parameter_description> the target widget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> event position in widget coordinates, or 0 if not a pointer event
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> event position in widget coordinates, or 0 if not a pointer event
 </parameter_description>
 </parameter>
 </parameters>
-<return> the previous focus
+<return> %TRUE if the event was potentially useful to trigger the
+controller action
 </return>
 </function>
 
-<function name="gtk_event_controller_key_get_focus_target">
+<function name="gtk_event_controller_key_forward">
 <description>
-Returns the widget that will be holding focus afterwards.
+Forwards the current event of this @controller to a @widget.
 
 This function can only be used in handlers for the
-#GtkEventControllerKey::focus-in and
-#GtkEventControllerKey::focus-out signals.
+#GtkEventControllerKey::key-pressed,
+#GtkEventControllerKey::key-released
+or
+#GtkEventControllerKey::modifiers
+signals.
 
 
 </description>
@@ -32217,15 +32206,19 @@ This function can only be used in handlers for the
 <parameter_description> a #GtkEventControllerKey
 </parameter_description>
 </parameter>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
 </parameters>
-<return> the next focus
+<return> whether the @widget handled the event
 </return>
 </function>
 
 <function name="gtk_event_controller_key_get_group">
 <description>
 Gets the key group of the current event of this @controller.
-See gdk_event_get_key_group().
+See gdk_key_event_get_group().
 
 
 </description>
@@ -32255,22 +32248,6 @@ Gets the input method context of the key @controller.
 </return>
 </function>
 
-<function name="gtk_event_controller_key_is_focus">
-<description>
-Returns the value of the GtkEventControllerKey:is-focus property.
-
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GtkEventControllerKey
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if focus is within @self but not one of its children
-</return>
-</function>
-
 <function name="gtk_event_controller_key_new">
 <description>
 Creates a new event controller that will handle key events.
@@ -32329,46 +32306,6 @@ Returns the value of the GtkEventControllerMotion:contains-pointer property.
 </return>
 </function>
 
-<function name="gtk_event_controller_motion_get_pointer_origin">
-<description>
-Returns the widget that contained the pointer before.
-
-This function can only be used in handlers for the
-#GtkEventControllerMotion::enter and
-#GtkEventControllerMotion::leave signals.
-
-
-</description>
-<parameters>
-<parameter name="controller">
-<parameter_description> a #GtkEventControllerMotion
-</parameter_description>
-</parameter>
-</parameters>
-<return> the previous pointer focus
-</return>
-</function>
-
-<function name="gtk_event_controller_motion_get_pointer_target">
-<description>
-Returns the widget that will contain the pointer afterwards.
-
-This function can only be used in handlers for the
-#GtkEventControllerMotion::enter and
-#GtkEventControllerMotion::leave signals.
-
-
-</description>
-<parameters>
-<parameter name="controller">
-<parameter_description> a #GtkEventControllerMotion
-</parameter_description>
-</parameter>
-</parameters>
-<return> the next pointer focus
-</return>
-</function>
-
 <function name="gtk_event_controller_motion_is_pointer">
 <description>
 Returns the value of the GtkEventControllerMotion:is-pointer property.
@@ -32377,7 +32314,7 @@ Returns the value of the GtkEventControllerMotion:is-pointer property.
 </description>
 <parameters>
 <parameter name="self">
-<parameter_description> a #GtkEventControllerKey
+<parameter_description> a #GtkEventControllerMotion
 </parameter_description>
 </parameter>
 </parameters>
@@ -32765,8 +32702,6 @@ a value using gtk_file_chooser_set_choice() before the dialog is shown,
 and you can obtain the user-selected value in the ::response signal handler
 using gtk_file_chooser_get_choice().
 
-Compare gtk_file_chooser_set_extra_widget().
-
 </description>
 <parameters>
 <parameter name="chooser">
@@ -32819,9 +32754,6 @@ ref and sink it if you want to keep a reference.
 <function name="gtk_file_chooser_add_shortcut_folder">
 <description>
 Adds a folder to be displayed with the shortcut folders in a file chooser.
-Note that shortcut folders do not get saved, as they are provided by the
-application.  For example, you can use this to add a
-“/usr/share/mydrawprogram/Clipart” folder to the volume list.
 
 
 </description>
@@ -32831,7 +32763,7 @@ application.  For example, you can use this to add a
 </parameter_description>
 </parameter>
 <parameter name="folder">
-<parameter_description> filename of the folder to add
+<parameter_description> a #GFile for the folder to add
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -32840,35 +32772,7 @@ application.  For example, you can use this to add a
 </parameter>
 </parameters>
 <return> %TRUE if the folder could be added successfully, %FALSE
-otherwise.  In the latter case, the @error will be set as appropriate.
-</return>
-</function>
-
-<function name="gtk_file_chooser_add_shortcut_folder_uri">
-<description>
-Adds a folder URI to be displayed with the shortcut folders in a file
-chooser.  Note that shortcut folders do not get saved, as they are provided
-by the application.  For example, you can use this to add a
-“file:///usr/share/mydrawprogram/Clipart” folder to the volume list.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> URI of the folder to add
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> location to store error, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the folder could be added successfully, %FALSE
-otherwise.  In the latter case, the @error will be set as appropriate.
+otherwise.
 </return>
 </function>
 
@@ -33087,38 +32991,7 @@ See gtk_file_chooser_set_create_folders().
 
 <function name="gtk_file_chooser_get_current_folder">
 <description>
-Gets the current folder of @chooser as a local filename.
-See gtk_file_chooser_set_current_folder().
-
-Note that this is the folder that the file chooser is currently displaying
-(e.g. &quot;/home/username/Documents&quot;), which is not the same
-as the currently-selected folder if the chooser is in
-%GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER mode
-(e.g. &quot;/home/username/Documents/selected-folder/&quot;.  To get the
-currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
-usual way to get the selection.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the full path of the current
-folder, or %NULL if the current path cannot be represented as a local
-filename.  Free with g_free().  This function will also return
-%NULL if the file chooser was unable to load the last folder that
-was requested from it; for example, as would be for calling
-gtk_file_chooser_set_current_folder() on a nonexistent folder.
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_current_folder_file">
-<description>
 Gets the current folder of @chooser as #GFile.
-See gtk_file_chooser_get_current_folder_uri().
 
 
 </description>
@@ -33132,45 +33005,13 @@ See gtk_file_chooser_get_current_folder_uri().
 </return>
 </function>
 
-<function name="gtk_file_chooser_get_current_folder_uri">
-<description>
-Gets the current folder of @chooser as an URI.
-See gtk_file_chooser_set_current_folder_uri().
-
-Note that this is the folder that the file chooser is currently displaying
-(e.g. &quot;file:///home/username/Documents&quot;), which is not the same
-as the currently-selected folder if the chooser is in
-%GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER mode
-(e.g. &quot;file:///home/username/Documents/selected-folder/&quot;.  To get the
-currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the
-usual way to get the selection.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the URI for the current folder.
-Free with g_free().  This function will also return %NULL if the file chooser
-was unable to load the last folder that was requested from it; for example,
-as would be for calling gtk_file_chooser_set_current_folder_uri() on a
-nonexistent folder.
-</return>
-</function>
-
 <function name="gtk_file_chooser_get_current_name">
 <description>
 Gets the current name in the file selector, as entered by the user in the
 text entry for “Name”.
 
 This is meant to be used in save dialogs, to get the currently typed filename
-when the file itself does not exist yet.  For example, an application that
-adds a custom extra widget to the file chooser for “file format” may want to
-change the extension of the typed filename based on the chosen format, say,
-from “.jpg” to “.png”.
+when the file itself does not exist yet.
 
 
 </description>
@@ -33187,41 +33028,6 @@ UTF-8 encoding, which is not necessarily the system’s encoding for filenames.
 </return>
 </function>
 
-<function name="gtk_file_chooser_get_do_overwrite_confirmation">
-<description>
-Queries whether a file chooser is set to confirm for overwriting when the user
-types a file name that already exists.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the file chooser will present a confirmation dialog;
-%FALSE otherwise.
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_extra_widget">
-<description>
-Gets the current extra widget; see
-gtk_file_chooser_set_extra_widget().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the current extra widget, or %NULL
-</return>
-</function>
-
 <function name="gtk_file_chooser_get_file">
 <description>
 Gets the #GFile for the currently selected file in
@@ -33244,56 +33050,10 @@ use g_object_unref() to release it.
 </return>
 </function>
 
-<function name="gtk_file_chooser_get_filename">
-<description>
-Gets the filename for the currently selected file in
-the file selector. The filename is returned as an absolute path. If
-multiple files are selected, one of the filenames will be returned at
-random.
-
-If the file chooser is in folder mode, this function returns the selected
-folder.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> The currently selected filename,
-or %NULL if no file is selected, or the selected file can't
-be represented with a local filename. Free with g_free().
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_filenames">
-<description>
-Lists all the selected files and subfolders in the current folder of
-@chooser. The returned names are full absolute paths. If files in the current
-folder cannot be represented as local filenames they will be ignored. (See
-gtk_file_chooser_get_uris())
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> a #GSList
-containing the filenames of all selected files and subfolders in
-the current folder. Free the returned list with g_slist_free(),
-and the filenames with g_free().
-</return>
-</function>
-
 <function name="gtk_file_chooser_get_files">
 <description>
 Lists all the selected files and subfolders in the current folder of @chooser
-as #GFile. An internal function, see gtk_file_chooser_get_uris().
+as #GFile.
 
 
 </description>
@@ -33303,7 +33063,7 @@ as #GFile. An internal function, see gtk_file_chooser_get_uris().
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GSList
+<return> a list
 containing a #GFile for each selected file and subfolder in the
 current folder.  Free the returned list with g_slist_free(), and
 the files with g_object_unref().
@@ -33326,113 +33086,6 @@ Gets the current filter; see gtk_file_chooser_set_filter().
 </return>
 </function>
 
-<function name="gtk_file_chooser_get_local_only">
-<description>
-Gets whether only local files can be selected in the
-file selector. See gtk_file_chooser_set_local_only()
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if only local files can be selected.
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_preview_file">
-<description>
-Gets the #GFile that should be previewed in a custom preview
-Internal function, see gtk_file_chooser_get_preview_uri().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the #GFile for the file to preview,
-or %NULL if no file is selected. Free with g_object_unref().
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_preview_filename">
-<description>
-Gets the filename that should be previewed in a custom preview
-widget. See gtk_file_chooser_set_preview_widget().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the filename to preview, or %NULL if
-no file is selected, or if the selected file cannot be represented
-as a local filename. Free with g_free()
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_preview_uri">
-<description>
-Gets the URI that should be previewed in a custom preview
-widget. See gtk_file_chooser_set_preview_widget().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the URI for the file to preview,
-or %NULL if no file is selected. Free with g_free().
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_preview_widget">
-<description>
-Gets the current preview widget; see
-gtk_file_chooser_set_preview_widget().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> the current preview widget, or %NULL
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_preview_widget_active">
-<description>
-Gets whether the preview widget set by gtk_file_chooser_set_preview_widget()
-should be shown for the current filename. See
-gtk_file_chooser_set_preview_widget_active().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the preview widget is active for the current filename.
-</return>
-</function>
-
 <function name="gtk_file_chooser_get_select_multiple">
 <description>
 Gets whether multiple files can be selected in the file
@@ -33450,84 +33103,6 @@ selector. See gtk_file_chooser_set_select_multiple().
 </return>
 </function>
 
-<function name="gtk_file_chooser_get_show_hidden">
-<description>
-Gets whether hidden files and folders are displayed in the file selector.   
-See gtk_file_chooser_set_show_hidden().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if hidden files and folders are displayed.
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_uri">
-<description>
-Gets the URI for the currently selected file in
-the file selector. If multiple files are selected,
-one of the filenames will be returned at random.
-
-If the file chooser is in folder mode, this function returns the selected
-folder.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> The currently selected URI, or %NULL
-if no file is selected. If gtk_file_chooser_set_local_only() is set to
-%TRUE (the default) a local URI will be returned for any FUSE locations.
-Free with g_free()
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_uris">
-<description>
-Lists all the selected files and subfolders in the current folder of
-@chooser. The returned names are full absolute URIs.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> a #GSList containing the URIs of all selected
-files and subfolders in the current folder. Free the returned list
-with g_slist_free(), and the filenames with g_free().
-</return>
-</function>
-
-<function name="gtk_file_chooser_get_use_preview_label">
-<description>
-Gets whether a label should be drawn with the name of the previewed
-file.  See gtk_file_chooser_set_use_preview_label().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the file chooser is set to display a label with the
-name of the previewed file, %FALSE otherwise.
-</return>
-</function>
-
 <function name="gtk_file_chooser_list_filters">
 <description>
 Lists the current set of user-selectable filters; see
@@ -33548,25 +33123,6 @@ itself with g_slist_free() when you are done with it.
 </return>
 </function>
 
-<function name="gtk_file_chooser_list_shortcut_folder_uris">
-<description>
-Queries the list of shortcut folders in the file chooser, as set by
-gtk_file_chooser_add_shortcut_folder_uri().
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-</parameters>
-<return> A list of
-folder URIs, or %NULL if there are no shortcut folders.  Free the
-returned list with g_slist_free(), and the URIs with g_free().
-</return>
-</function>
-
 <function name="gtk_file_chooser_list_shortcut_folders">
 <description>
 Queries the list of shortcut folders in the file chooser, as set by
@@ -33582,8 +33138,6 @@ gtk_file_chooser_add_shortcut_folder().
 </parameters>
 <return> A list
 of folder filenames, or %NULL if there are no shortcut folders.
-Free the returned list with g_slist_free(), and the filenames with
-g_free().
 </return>
 </function>
 
@@ -33739,7 +33293,7 @@ Removes @filter from the list of filters that the user can select between.
 
 <function name="gtk_file_chooser_remove_shortcut_folder">
 <description>
-Removes a folder from a file chooser’s list of shortcut folders.
+Removes a folder from the shortcut folders in a file chooser.
 
 
 </description>
@@ -33749,34 +33303,7 @@ Removes a folder from a file chooser’s list of shortcut folders.
 </parameter_description>
 </parameter>
 <parameter name="folder">
-<parameter_description> filename of the folder to remove
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> location to store error, or %NULL
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the operation succeeds, %FALSE otherwise.  
-In the latter case, the @error will be set as appropriate.
-
-See also: gtk_file_chooser_add_shortcut_folder()
-</return>
-</function>
-
-<function name="gtk_file_chooser_remove_shortcut_folder_uri">
-<description>
-Removes a folder URI from a file chooser’s list of shortcut folders.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> URI of the folder to remove
+<parameter_description> a #GFile for the folder to remove
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -33784,10 +33311,8 @@ Removes a folder URI from a file chooser’s list of shortcut folders.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the operation succeeds, %FALSE otherwise.  
-In the latter case, the @error will be set as appropriate.
-
-See also: gtk_file_chooser_add_shortcut_folder_uri()
+<return> %TRUE if the folder could be removed successfully, %FALSE
+otherwise.
 </return>
 </function>
 
@@ -33807,8 +33332,7 @@ Selects all the files in the current folder of a file chooser.
 
 <function name="gtk_file_chooser_select_file">
 <description>
-Selects the file referred to by @file. An internal function. See
-_gtk_file_chooser_select_uri().
+Selects the file referred to by @file.
 
 
 </description>
@@ -33830,52 +33354,6 @@ _gtk_file_chooser_select_uri().
 </return>
 </function>
 
-<function name="gtk_file_chooser_select_filename">
-<description>
-Selects a filename. If the file name isn’t in the current
-folder of @chooser, then the current folder of @chooser will
-be changed to the folder containing @filename.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> the filename to select
-</parameter_description>
-</parameter>
-</parameters>
-<return> Not useful.
-
-See also: gtk_file_chooser_set_filename()
-</return>
-</function>
-
-<function name="gtk_file_chooser_select_uri">
-<description>
-Selects the file to by @uri. If the URI doesn’t refer to a
-file in the current folder of @chooser, then the current folder of
-@chooser will be changed to the folder containing @filename.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> the URI to select
-</parameter_description>
-</parameter>
-</parameters>
-<return> Not useful.
-</return>
-</function>
-
 <function name="gtk_file_chooser_set_action">
 <description>
 Sets the type of operation that the chooser is performing; the
@@ -33944,34 +33422,7 @@ This is only relevant if the action is not set to be
 
 <function name="gtk_file_chooser_set_current_folder">
 <description>
-Sets the current folder for @chooser from a local filename.
-The user will be shown the full contents of the current folder,
-plus user interface elements for navigating to other folders.
-
-In general, you should not use this function.  See the
-[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
-for the rationale behind this.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> the full path of the new current folder
-</parameter_description>
-</parameter>
-</parameters>
-<return> Not useful.
-</return>
-</function>
-
-<function name="gtk_file_chooser_set_current_folder_file">
-<description>
 Sets the current folder for @chooser from a #GFile.
-Internal function, see gtk_file_chooser_set_current_folder_uri().
 
 
 </description>
@@ -33994,33 +33445,6 @@ otherwise.
 </return>
 </function>
 
-<function name="gtk_file_chooser_set_current_folder_uri">
-<description>
-Sets the current folder for @chooser from an URI.
-The user will be shown the full contents of the current folder,
-plus user interface elements for navigating to other folders.
-
-In general, you should not use this function.  See the
-[section on setting up a file chooser dialog][gtkfilechooserdialog-setting-up]
-for the rationale behind this.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> the URI for the new current folder
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the folder could be changed successfully, %FALSE
-otherwise.
-</return>
-</function>
-
 <function name="gtk_file_chooser_set_current_name">
 <description>
 Sets the current name in the file selector, as if entered
@@ -34030,7 +33454,8 @@ such uses as a suggested name in a “Save As...” dialog.  You can
 pass “Untitled.doc” or a similarly suitable suggestion for the @name.
 
 If you want to preselect a particular existing file, you should use
-gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead.
+gtk_file_chooser_set_file() instead.
+
 Please see the documentation for those functions for an example of using
 gtk_file_chooser_set_current_name() as well.
 
@@ -34048,52 +33473,6 @@ gtk_file_chooser_set_current_name() as well.
 <return></return>
 </function>
 
-<function name="gtk_file_chooser_set_do_overwrite_confirmation">
-<description>
-Sets whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode will present
-a confirmation dialog if the user types a file name that already exists.  This
-is %FALSE by default.
-
-If set to %TRUE, the @chooser will emit the
-#GtkFileChooser::confirm-overwrite signal when appropriate.
-
-If all you need is the standard confirmation dialog, set this property to %TRUE.
-You can override the way confirmation is done by actually handling the
-#GtkFileChooser::confirm-overwrite signal; please refer to its documentation
-for the details.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="do_overwrite_confirmation">
-<parameter_description> whether to confirm overwriting in save mode
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_file_chooser_set_extra_widget">
-<description>
-Sets an application-supplied widget to provide extra options to the user.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="extra_widget">
-<parameter_description> widget for extra options
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_file_chooser_set_file">
 <description>
 Sets @file as the current filename for the file chooser, by changing
@@ -34120,7 +33499,7 @@ Instead, use something similar to this:
 if (document_is_new)
 {
 // the user just created a new document
-gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
+gtk_file_chooser_set_current_folder (chooser, default_file_for_saving);
 gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
 }
 else
@@ -34150,57 +33529,6 @@ gtk_file_chooser_set_file (chooser, existing_file);
 </return>
 </function>
 
-<function name="gtk_file_chooser_set_filename">
-<description>
-Sets @filename as the current filename for the file chooser, by changing to
-the file’s parent folder and actually selecting the file in list; all other
-files will be unselected.  If the @chooser is in
-%GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name will also appear in
-the dialog’s file name entry.
-
-Note that the file must exist, or nothing will be done except
-for the directory change.
-
-You should use this function only when implementing a save
-dialog for which you already have a file name to which
-the user may save.  For example, when the user opens an existing file and
-then does Save As... to save a copy or
-a modified version.  If you don’t have a file name already — for
-example, if the user just created a new file and is saving it for the first
-time, do not call this function.  Instead, use something similar to this:
-|[&lt;!-- language=&quot;C&quot; --&gt;
-if (document_is_new)
-{
-// the user just created a new document
-gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
-}
-else
-{
-// the user edited an existing document
-gtk_file_chooser_set_filename (chooser, existing_filename);
-}
-]|
-
-In the first case, the file chooser will present the user with useful suggestions
-as to where to save his new file.  In the second case, the file’s existing location
-is already known, so the file chooser will use it.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> the filename to set as current
-</parameter_description>
-</parameter>
-</parameters>
-<return> Not useful.
-</return>
-</function>
-
 <function name="gtk_file_chooser_set_filter">
 <description>
 Sets the current filter; only the files that pass the
@@ -34224,88 +33552,6 @@ set of files without letting the user change it.
 <return></return>
 </function>
 
-<function name="gtk_file_chooser_set_local_only">
-<description>
-Sets whether only local files can be selected in the
-file selector. If @local_only is %TRUE (the default is %FALSE),
-then the selected file or files are guaranteed to be
-accessible through the operating system’s native file
-system and therefore the application only
-needs to worry about the filename functions in
-#GtkFileChooser, like gtk_file_chooser_get_filename(),
-rather than the URI functions like
-gtk_file_chooser_get_uri(),
-
-On some systems non-native files may still be
-available using the native filesystem via a userspace
-filesystem (FUSE).
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="local_only">
-<parameter_description> %TRUE if only local files can be selected
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_file_chooser_set_preview_widget">
-<description>
-Sets an application-supplied widget to use to display a custom preview
-of the currently selected file. To implement a preview, after setting the
-preview widget, you connect to the #GtkFileChooser::update-preview
-signal, and call gtk_file_chooser_get_preview_filename() or
-gtk_file_chooser_get_preview_uri() on each change. If you can
-display a preview of the new file, update your widget and
-set the preview active using gtk_file_chooser_set_preview_widget_active().
-Otherwise, set the preview inactive.
-
-When there is no application-supplied preview widget, or the
-application-supplied preview widget is not active, the file chooser
-will display no preview at all.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="preview_widget">
-<parameter_description> widget for displaying preview.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_file_chooser_set_preview_widget_active">
-<description>
-Sets whether the preview widget set by
-gtk_file_chooser_set_preview_widget() should be shown for the
-current filename. When @active is set to false, the file chooser
-may display an internally generated preview of the current file
-or it may display no preview at all. See
-gtk_file_chooser_set_preview_widget() for more details.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="active">
-<parameter_description> whether to display the user-specified preview widget
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_file_chooser_set_select_multiple">
 <description>
 Sets whether multiple files can be selected in the file selector.  This is
@@ -34326,98 +33572,6 @@ only relevant if the action is set to be %GTK_FILE_CHOOSER_ACTION_OPEN or
 <return></return>
 </function>
 
-<function name="gtk_file_chooser_set_show_hidden">
-<description>
-Sets whether hidden files and folders are displayed in the file selector.  
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="show_hidden">
-<parameter_description> %TRUE if hidden files and folders should be displayed.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_file_chooser_set_uri">
-<description>
-Sets the file referred to by @uri as the current file for the file chooser,
-by changing to the URI’s parent folder and actually selecting the URI in the
-list.  If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI’s base
-name will also appear in the dialog’s file name entry.
-
-Note that the URI must exist, or nothing will be done except for the 
-directory change.
-
-You should use this function only when implementing a save
-dialog for which you already have a file name to which
-the user may save.  For example, when the user opens an existing file and then
-does Save As... to save a copy or a
-modified version.  If you don’t have a file name already — for example,
-if the user just created a new file and is saving it for the first time, do
-not call this function.  Instead, use something similar to this:
-|[&lt;!-- language=&quot;C&quot; --&gt;
-if (document_is_new)
-{
-// the user just created a new document
-gtk_file_chooser_set_current_name (chooser, &quot;Untitled document&quot;);
-}
-else
-{
-// the user edited an existing document
-gtk_file_chooser_set_uri (chooser, existing_uri);
-}
-]|
-
-
-In the first case, the file chooser will present the user with useful suggestions
-as to where to save his new file.  In the second case, the file’s existing location
-is already known, so the file chooser will use it.
-
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> the URI to set as current
-</parameter_description>
-</parameter>
-</parameters>
-<return> Not useful.
-</return>
-</function>
-
-<function name="gtk_file_chooser_set_use_preview_label">
-<description>
-Sets whether the file chooser should display a label with the name of
-the file that is being previewed; the default is %TRUE.  Applications that
-want to draw the whole preview area themselves should set this to %FALSE and
-display the name themselves in their preview widget.
-
-See also: gtk_file_chooser_set_preview_widget()
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="use_label">
-<parameter_description> whether to display a label with the name of the previewed file
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_file_chooser_unselect_all">
 <description>
 Unselects all the files in the current folder of a file chooser.
@@ -34451,46 +33605,6 @@ directory, does not exist, or is otherwise not currently selected, does nothing.
 <return></return>
 </function>
 
-<function name="gtk_file_chooser_unselect_filename">
-<description>
-Unselects a currently selected filename. If the filename
-is not in the current directory, does not exist, or
-is otherwise not currently selected, does nothing.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="filename">
-<parameter_description> the filename to unselect
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_file_chooser_unselect_uri">
-<description>
-Unselects the file referred to by @uri. If the file
-is not in the current directory, does not exist, or
-is otherwise not currently selected, does nothing.
-
-</description>
-<parameters>
-<parameter name="chooser">
-<parameter_description> a #GtkFileChooser
-</parameter_description>
-</parameter>
-<parameter name="uri">
-<parameter_description> the URI to unselect
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_file_chooser_widget_new">
 <description>
 Creates a new #GtkFileChooserWidget. This is a file chooser widget that can
@@ -37703,47 +36817,6 @@ must not be freed
 </return>
 </function>
 
-<function name="gtk_get_event_target">
-<description>
-If @event is %NULL or the event was not associated with any widget,
-returns %NULL, otherwise returns the widget that is the deepmost
-receiver of the event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-</parameters>
-<return> the target widget, or %NULL
-</return>
-</function>
-
-<function name="gtk_get_event_target_with_type">
-<description>
-If @event is %NULL or the event was not associated with any widget,
-returns %NULL, otherwise returns first widget found from the event
-target to the toplevel that matches @type.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="type">
-<parameter_description> the type to look for
-</parameter_description>
-</parameter>
-</parameters>
-<return> the widget in the target stack
-with the given type, or %NULL
-</return>
-</function>
-
 <function name="gtk_get_event_widget">
 <description>
 If @event is %NULL or the event was not associated with any widget,
@@ -39569,15 +38642,11 @@ of the icon or %NULL to use the default color (allow-none)
 Adds a resource path that will be looked at when looking
 for icons, similar to search paths.
 
+See gtk_icon_theme_set_resource_path().
+
 This function should be used to make application-specific icons
 available as part of the icon theme.
 
-The resources are considered as part of the hicolor icon theme
-and must be located in subdirectories that are defined in the
-hicolor icon theme, such as `@path/16x16/actions/run.png`.
-Icons that are directly placed in the resource path instead
-of a subdirectory are also considered as ultimate fallback.
-
 </description>
 <parameters>
 <parameter name="self">
@@ -39592,7 +38661,7 @@ of a subdirectory are also considered as ultimate fallback.
 <return></return>
 </function>
 
-<function name="gtk_icon_theme_append_search_path">
+<function name="gtk_icon_theme_add_search_path">
 <description>
 Appends a directory to the search path.
 See gtk_icon_theme_set_search_path().
@@ -39637,6 +38706,24 @@ is open. Do not ref or unref it.
 </return>
 </function>
 
+<function name="gtk_icon_theme_get_icon_names">
+<description>
+Lists the names of icons in the current icon theme.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+</parameters>
+<return> a string array
+holding the names of all the icons in the theme. You must
+free the array using g_strfreev().
+</return>
+</function>
+
 <function name="gtk_icon_theme_get_icon_sizes">
 <description>
 Returns an array of integers describing the sizes at which
@@ -39663,9 +38750,12 @@ longer needed.
 </return>
 </function>
 
-<function name="gtk_icon_theme_get_search_path">
+<function name="gtk_icon_theme_get_resource_path">
 <description>
-Gets the current search path. See gtk_icon_theme_set_search_path().
+Gets the current resource path.
+
+See gtk_icon_theme_set_resource_path().
+
 
 </description>
 <parameters>
@@ -39673,24 +38763,15 @@ Gets the current search path. See gtk_icon_theme_set_search_path().
 <parameter_description> a #GtkIconTheme
 </parameter_description>
 </parameter>
-<parameter name="path">
-<parameter_description>
-location to store a list of icon theme path directories or %NULL.
-The stored value should be freed with g_strfreev().
-</parameter_description>
-</parameter>
-<parameter name="n_elements">
-<parameter_description> location to store number of elements in @path, or %NULL
-</parameter_description>
-</parameter>
 </parameters>
-<return></return>
+<return> A list of resource paths or %NULL.
+The returned value should be freed with g_strfreev().
+</return>
 </function>
 
-<function name="gtk_icon_theme_has_icon">
+<function name="gtk_icon_theme_get_search_path">
 <description>
-Checks whether an icon theme includes an icon
-for a particular name.
+Gets the current search path. See gtk_icon_theme_set_search_path().
 
 
 </description>
@@ -39699,19 +38780,33 @@ for a particular name.
 <parameter_description> a #GtkIconTheme
 </parameter_description>
 </parameter>
-<parameter name="icon_name">
-<parameter_description> the name of an icon
+</parameters>
+<return>
+a list of icon theme path directories or %NULL.
+The returned value should be freed with g_strfreev().
+</return>
+</function>
+
+<function name="gtk_icon_theme_get_theme_name">
+<description>
+Gets the current icon theme name.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkIconTheme
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @self includes an
-icon for @icon_name.
+<return> the current icon theme name,
 </return>
 </function>
 
-<function name="gtk_icon_theme_list_icons">
+<function name="gtk_icon_theme_has_icon">
 <description>
-Lists the icons in the current icon theme.
+Checks whether an icon theme includes an icon
+for a particular name.
 
 
 </description>
@@ -39720,11 +38815,13 @@ Lists the icons in the current icon theme.
 <parameter_description> a #GtkIconTheme
 </parameter_description>
 </parameter>
+<parameter name="icon_name">
+<parameter_description> the name of an icon
+</parameter_description>
+</parameter>
 </parameters>
-<return> a #GList list
-holding the names of all the icons in the theme. You must
-first free each element in the list with g_free(), then
-free the list itself with g_list_free().
+<return> %TRUE if @self includes an
+icon for @icon_name.
 </return>
 </function>
 
@@ -39836,51 +38933,16 @@ rather than creating a new icon theme object for scratch.
 </return>
 </function>
 
-<function name="gtk_icon_theme_prepend_search_path">
+<function name="gtk_icon_theme_set_resource_path">
 <description>
-Prepends a directory to the search path.
-See gtk_icon_theme_set_search_path().
+Sets the resource paths that will be looked at when
+looking for icons, similar to search paths.
 
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GtkIconTheme
-</parameter_description>
-</parameter>
-<parameter name="path">
-<parameter_description> directory name to prepend to the icon path
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_icon_theme_set_custom_theme">
-<description>
-Sets the name of the icon theme that the #GtkIconTheme object uses
-overriding system configuration. This function cannot be called
-on the icon theme objects returned from gtk_icon_theme_get_for_display().
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GtkIconTheme
-</parameter_description>
-</parameter>
-<parameter name="theme_name">
-<parameter_description> name of icon theme to use instead of
-configured theme, or %NULL to unset a previously set custom theme
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_icon_theme_set_display">
-<description>
-Sets the display for an icon theme; the display is used
-to track the user’s currently configured icon theme,
-which might be different for different displays.
+The resources are considered as part of the hicolor icon theme
+and must be located in subdirectories that are defined in the
+hicolor icon theme, such as `@path/16x16/actions/run.png`.
+Icons that are directly placed in the resource path instead
+of a subdirectory are also considered as ultimate fallback.
 
 </description>
 <parameters>
@@ -39888,8 +38950,9 @@ which might be different for different displays.
 <parameter_description> a #GtkIconTheme
 </parameter_description>
 </parameter>
-<parameter name="display">
-<parameter_description> a #GdkDisplay
+<parameter name="path">
+<parameter_description> NULL-terminated array of resource paths
+that are searched for icons
 </parameter_description>
 </parameter>
 </parameters>
@@ -39899,7 +38962,7 @@ which might be different for different displays.
 <function name="gtk_icon_theme_set_search_path">
 <description>
 Sets the search path for the icon theme object. When looking
-for an icon theme, GTK+ will search for a subdirectory of
+for an icon theme, GTK will search for a subdirectory of
 one or more of the directories in @path with the same name
 as the icon theme containing an index.theme file. (Themes from
 multiple of the path elements are combined to allow themes to be
@@ -39920,12 +38983,29 @@ rather than directly on the icon path.)
 </parameter_description>
 </parameter>
 <parameter name="path">
-<parameter_description> array of
+<parameter_description> NULL-terminated array of
 directories that are searched for icon themes
 </parameter_description>
 </parameter>
-<parameter name="n_elements">
-<parameter_description> number of elements in @path.
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_icon_theme_set_theme_name">
+<description>
+Sets the name of the icon theme that the #GtkIconTheme object uses
+overriding system configuration. This function cannot be called
+on the icon theme objects returned from gtk_icon_theme_get_for_display().
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkIconTheme
+</parameter_description>
+</parameter>
+<parameter name="theme_name">
+<parameter_description> name of icon theme to use instead of
+configured theme, or %NULL to unset a previously set custom theme
 </parameter_description>
 </parameter>
 </parameters>
@@ -42192,38 +41272,6 @@ ending with %NULL
 <return></return>
 </function>
 
-<function name="gtk_info_bar_get_action_area">
-<description>
-Returns the action area of @info_bar.
-
-
-</description>
-<parameters>
-<parameter name="info_bar">
-<parameter_description> a #GtkInfoBar
-</parameter_description>
-</parameter>
-</parameters>
-<return> the action area
-</return>
-</function>
-
-<function name="gtk_info_bar_get_content_area">
-<description>
-Returns the content area of @info_bar.
-
-
-</description>
-<parameters>
-<parameter name="info_bar">
-<parameter_description> a #GtkInfoBar
-</parameter_description>
-</parameter>
-</parameters>
-<return> the content area
-</return>
-</function>
-
 <function name="gtk_info_bar_get_message_type">
 <description>
 Returns the message type of the message area.
@@ -51141,6 +50189,9 @@ 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.
 
+Called this function on an already showing popup with a new autohide value
+different from the current one, will cause the popup to be hidden.
+
 </description>
 <parameters>
 <parameter name="popover">
@@ -59384,454 +58435,6 @@ will reveal the entry in addition to triggering the search entry.
 <return></return>
 </function>
 
-<function name="gtk_selection_data_copy">
-<description>
-Makes a copy of a #GtkSelectionData-struct and its data.
-
-
-</description>
-<parameters>
-<parameter name="data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> a pointer to a copy of @data.
-</return>
-</function>
-
-<function name="gtk_selection_data_free">
-<description>
-Frees a #GtkSelectionData-struct returned from
-gtk_selection_data_copy().
-
-</description>
-<parameters>
-<parameter name="data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_selection_data_get_data">
-<description>
-Retrieves the raw data of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a
-#GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the raw data of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_data_type">
-<description>
-Retrieves the data type of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the data type of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_data_with_length">
-<description>
-Retrieves the raw data of the selection along with its length.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> return location for length of the data segment
-</parameter_description>
-</parameter>
-</parameters>
-<return> the raw data of the selection
-</return>
-</function>
-
-<function name="gtk_selection_data_get_display">
-<description>
-Retrieves the display of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the display of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_format">
-<description>
-Retrieves the format of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the format of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_length">
-<description>
-Retrieves the length of the raw data of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the length of the data of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_pixbuf">
-<description>
-Gets the contents of the selection data as a #GdkPixbuf.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-</parameters>
-<return> if the selection data
-contained a recognized image type and it could be converted to a
-#GdkPixbuf, a newly allocated pixbuf is returned, otherwise
-%NULL.  If the result is non-%NULL it must be freed with
-g_object_unref().
-</return>
-</function>
-
-<function name="gtk_selection_data_get_target">
-<description>
-Retrieves the target of the selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-</parameters>
-<return> the target of the selection.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_targets">
-<description>
-Gets the contents of @selection_data as an array of targets.
-This can be used to interpret the results of getting
-the standard TARGETS target that is always supplied for
-any selection.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData object
-</parameter_description>
-</parameter>
-<parameter name="targets">
-<parameter_description>
-location to store an array of targets. The result stored
-here must be freed with g_free().
-</parameter_description>
-</parameter>
-<parameter name="n_atoms">
-<parameter_description> location to store number of items in @targets.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @selection_data contains a valid
-array of targets, otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_get_text">
-<description>
-Gets the contents of the selection data as a UTF-8 string.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-</parameters>
-<return> if the selection data contained a
-recognized text type and it could be converted to UTF-8, a newly
-allocated string containing the converted text, otherwise %NULL.
-If the result is non-%NULL it must be freed with g_free().
-</return>
-</function>
-
-<function name="gtk_selection_data_get_texture">
-<description>
-Gets the contents of the selection data as a #GdkPixbuf.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-</parameters>
-<return> if the selection data
-contained a recognized image type and it could be converted to a
-#GdkTexture, a newly allocated texture is returned, otherwise
-%NULL.  If the result is non-%NULL it must be freed with
-g_object_unref().
-</return>
-</function>
-
-<function name="gtk_selection_data_get_uris">
-<description>
-Gets the contents of the selection data as array of URIs.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-</parameters>
-<return> if
-the selection data contains a list of
-URIs, a newly allocated %NULL-terminated string array
-containing the URIs, otherwise %NULL. If the result is
-non-%NULL it must be freed with g_strfreev().
-</return>
-</function>
-
-<function name="gtk_selection_data_set">
-<description>
-Stores new data into a #GtkSelectionData object. Should
-only be called from a selection handler callback.
-Zero-terminates the stored data.
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a pointer to a #GtkSelectionData-struct.
-</parameter_description>
-</parameter>
-<parameter name="type">
-<parameter_description> the type of selection data
-</parameter_description>
-</parameter>
-<parameter name="format">
-<parameter_description> format (number of bits in a unit)
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> pointer to the data (will be copied)
-</parameter_description>
-</parameter>
-<parameter name="length">
-<parameter_description> length of the data
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_selection_data_set_pixbuf">
-<description>
-Sets the contents of the selection from a #GdkPixbuf
-The pixbuf is converted to the form determined by
-@selection_data-&gt;target.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-<parameter name="pixbuf">
-<parameter_description> a #GdkPixbuf
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the selection was successfully set,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_set_text">
-<description>
-Sets the contents of the selection from a UTF-8 encoded string.
-The string is converted to the form determined by
-@selection_data-&gt;target.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-<parameter name="str">
-<parameter_description> a UTF-8 string
-</parameter_description>
-</parameter>
-<parameter name="len">
-<parameter_description> the length of @str, or -1 if @str is nul-terminated.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the selection was successfully set,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_set_texture">
-<description>
-Sets the contents of the selection from a #GdkTexture.
-The surface is converted to the form determined by
-@selection_data-&gt;target.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-<parameter name="texture">
-<parameter_description> a #GdkTexture
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the selection was successfully set,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_set_uris">
-<description>
-Sets the contents of the selection from a list of URIs.
-The string is converted to the form determined by
-@selection_data-&gt;target.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
-</parameter_description>
-</parameter>
-<parameter name="uris">
-<parameter_description> a %NULL-terminated array of
-strings holding URIs
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the selection was successfully set,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_targets_include_image">
-<description>
-Given a #GtkSelectionData object holding a list of targets,
-determines if any of the targets in @targets can be used to
-provide a #GdkPixbuf.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData object
-</parameter_description>
-</parameter>
-<parameter name="writable">
-<parameter_description> whether to accept only targets for which GTK+ knows
-how to convert a pixbuf into the format
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @selection_data holds a list of targets,
-and a suitable target for images is included, otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_targets_include_text">
-<description>
-Given a #GtkSelectionData object holding a list of targets,
-determines if any of the targets in @targets can be used to
-provide text.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData object
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @selection_data holds a list of targets,
-and a suitable target for text is included, otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_selection_data_targets_include_uri">
-<description>
-Given a #GtkSelectionData object holding a list of targets,
-determines if any of the targets in @targets can be used to
-provide a list or URIs.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData object
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @selection_data holds a list of targets,
-and a suitable target for URI lists is included, otherwise %FALSE.
-</return>
-</function>
-
 <function name="gtk_selection_model_is_selected">
 <description>
 Checks if the given item is selected.
@@ -62701,6 +61304,41 @@ Returns the stack child to which @page belongs.
 </return>
 </function>
 
+<function name="gtk_stack_page_get_visible">
+<description>
+Returns whether @page is visible in its #GtkStack.
+This is independent from the #GtkWidget:visible value of its
+#GtkWidget.
+
+</description>
+<parameters>
+<parameter name="page">
+<parameter_description> a #GtkStackPage
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_stack_page_set_visible">
+<description>
+Sets the new value of the #GtkStackPage:visible property
+to @visible.
+
+</description>
+<parameters>
+<parameter name="page">
+<parameter_description> a #GtkStackPage
+</parameter_description>
+</parameter>
+<parameter name="visible">
+<parameter_description> The new property value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_stack_set_hhomogeneous">
 <description>
 Sets the #GtkStack to be horizontally homogeneous or not.
@@ -63738,77 +62376,6 @@ See #GtkSwitch::state-set for details.
 <return></return>
 </function>
 
-<function name="gtk_targets_include_image">
-<description>
-Determines if any of the targets in @targets can be used to
-provide a #GdkPixbuf.
-
-
-</description>
-<parameters>
-<parameter name="targets">
-<parameter_description> an array of #GdkAtoms
-</parameter_description>
-</parameter>
-<parameter name="n_targets">
-<parameter_description> the length of @targets
-</parameter_description>
-</parameter>
-<parameter name="writable">
-<parameter_description> whether to accept only targets for which GTK+ knows
-how to convert a pixbuf into the format
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @targets include a suitable target for images,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_targets_include_text">
-<description>
-Determines if any of the targets in @targets can be used to
-provide text.
-
-
-</description>
-<parameters>
-<parameter name="targets">
-<parameter_description> an array of #GdkAtoms
-</parameter_description>
-</parameter>
-<parameter name="n_targets">
-<parameter_description> the length of @targets
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @targets include a suitable target for text,
-otherwise %FALSE.
-</return>
-</function>
-
-<function name="gtk_targets_include_uri">
-<description>
-Determines if any of the targets in @targets can be used to
-provide an uri list.
-
-
-</description>
-<parameters>
-<parameter name="targets">
-<parameter_description> an array of #GdkAtoms
-</parameter_description>
-</parameter>
-<parameter name="n_targets">
-<parameter_description> the length of @targets
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if @targets include a suitable target for uri lists,
-otherwise %FALSE.
-</return>
-</function>
-
 <function name="gtk_test_init">
 <description>
 This function is used to initialize a GTK+ test program.
@@ -69581,7 +68148,7 @@ gtk_text_view_set_gutter().
 </parameter_description>
 </parameter>
 <parameter name="win">
-<parameter_description> a #GtkWindowType
+<parameter_description> a #GtkTextWindowType
 </parameter_description>
 </parameter>
 </parameters>
@@ -70016,8 +68583,8 @@ and the default key event handling of the #GtkTextView.
 
 |[&lt;!-- language=&quot;C&quot; --&gt;
 static gboolean
-gtk_foo_bar_key_press_event (GtkWidget   *widget,
-GdkEventKey *event)
+gtk_foo_bar_key_press_event (GtkWidget *widget,
+GdkEvent  *event)
 {
 guint keyval;
 
@@ -71088,10 +69655,30 @@ key press.
 <return></return>
 </function>
 
+<function name="gtk_tree_create_row_drag_content">
+<description>
+Creates a content provider for dragging @path from @tree_model.
+
+
+</description>
+<parameters>
+<parameter name="tree_model">
+<parameter_description> a #GtkTreeModel
+</parameter_description>
+</parameter>
+<parameter name="path">
+<parameter_description> a row in @tree_model
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GdkContentProvider
+</return>
+</function>
+
 <function name="gtk_tree_drag_dest_drag_data_received">
 <description>
 Asks the #GtkTreeDragDest to insert a row before the path @dest,
-deriving the contents of the row from @selection_data. If @dest is
+deriving the contents of the row from @value. If @dest is
 outside the tree so that inserting before it is impossible, %FALSE
 will be returned. Also, %FALSE may be returned if the new row is
 not created for some model-specific reason.  Should robustly handle
@@ -71108,7 +69695,7 @@ a @dest no longer found in the model!
 <parameter_description> row to drop in front of
 </parameter_description>
 </parameter>
-<parameter name="selection_data">
+<parameter name="value">
 <parameter_description> data to drop
 </parameter_description>
 </parameter>
@@ -71121,7 +69708,7 @@ a @dest no longer found in the model!
 <description>
 Determines whether a drop is possible before the given @dest_path,
 at the same depth as @dest_path. i.e., can we drop the data in
-@selection_data at that location. @dest_path does not have to
+@value at that location. @dest_path does not have to
 exist; the return value will almost certainly be %FALSE if the
 parent of @dest_path doesn’t exist, though.
 
@@ -71136,8 +69723,8 @@ parent of @dest_path doesn’t exist, though.
 <parameter_description> destination row
 </parameter_description>
 </parameter>
-<parameter name="selection_data">
-<parameter_description> the data being dragged
+<parameter name="value">
+<parameter_description> the data being dropped
 </parameter_description>
 </parameter>
 </parameters>
@@ -71171,9 +69758,8 @@ longer found in the model!
 
 <function name="gtk_tree_drag_source_drag_data_get">
 <description>
-Asks the #GtkTreeDragSource to fill in @selection_data with a
-representation of the row at @path. @selection_data-&gt;target gives
-the required type of the data.  Should robustly handle a @path no
+Asks the #GtkTreeDragSource to return a #GdkContentProvider representing
+the row at @path. Should robustly handle a @path no
 longer found in the model!
 
 
@@ -71187,13 +69773,9 @@ longer found in the model!
 <parameter_description> row that was dragged
 </parameter_description>
 </parameter>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData to fill with data
-from the dragged row
-</parameter_description>
-</parameter>
 </parameters>
-<return> %TRUE if data of the required type was provided 
+<return> a #GdkContentProvider for the
+given @path or %NULL if none exists
 </return>
 </function>
 
@@ -71221,21 +69803,16 @@ this interface, the row is assumed draggable.
 
 <function name="gtk_tree_get_row_drag_data">
 <description>
-Obtains a @tree_model and @path from selection data of target type
-%GTK_TREE_MODEL_ROW. Normally called from a drag_data_received handler.
-This function can only be used if @selection_data originates from the same
-process that’s calling this function, because a pointer to the tree model
-is being passed around. If you aren’t in the same process, then you'll
-get memory corruption. In the #GtkTreeDragDest drag_data_received handler,
-you can assume that selection data of type %GTK_TREE_MODEL_ROW is
-in from the current process. The returned path must be freed with
-gtk_tree_path_free().
+Obtains a @tree_model and @path from value of target type
+%GTK_TYPE_TREE_ROW_DATA.
+
+The returned path must be freed with gtk_tree_path_free().
 
 
 </description>
 <parameters>
-<parameter name="selection_data">
-<parameter_description> a #GtkSelectionData
+<parameter name="value">
+<parameter_description> a #GValue
 </parameter_description>
 </parameter>
 <parameter name="tree_model">
@@ -71247,7 +69824,7 @@ gtk_tree_path_free().
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and
+<return> %TRUE if @selection_data had target type %GTK_TYPE_TREE_ROW_DATA
 is otherwise valid
 </return>
 </function>
@@ -73854,31 +72431,6 @@ inclusive.
 <return></return>
 </function>
 
-<function name="gtk_tree_set_row_drag_data">
-<description>
-Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used
-in a drag_data_get handler.
-
-
-</description>
-<parameters>
-<parameter name="selection_data">
-<parameter_description> some #GtkSelectionData
-</parameter_description>
-</parameter>
-<parameter name="tree_model">
-<parameter_description> a #GtkTreeModel
-</parameter_description>
-</parameter>
-<parameter name="path">
-<parameter_description> a row in @tree_model
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the #GtkSelectionData had the proper target type to allow us to set a tree row
-</return>
-</function>
-
 <function name="gtk_tree_sortable_get_sort_column_id">
 <description>
 Fills in @sort_column_id and @order with the current sort column and the
@@ -79549,32 +78101,6 @@ or window manager that is used.
 <return></return>
 </function>
 
-<function name="gtk_widget_event">
-<description>
-Rarely-used function. This function is used to emit
-the event signals on a widget (those signals should never
-be emitted without using this function to do so).
-If you want to synthesize an event though, don’t use this function;
-instead, use gtk_main_do_event() so the event will behave as if
-it were in the event queue.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-</parameters>
-<return> return from the event signal emission (%TRUE if
-the event was handled)
-</return>
-</function>
-
 <function name="gtk_widget_get_accessible">
 <description>
 Returns the accessible object that describes the widget to an
@@ -79783,6 +78309,40 @@ realized yet.
 </return>
 </function>
 
+<function name="gtk_widget_get_css_classes">
+<description>
+Returns the list of css classes applied to @widget.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> a %NULL-terminated list of
+css classes currently applied to @widget. The returned
+list can be freed using g_strfreev().
+</return>
+</function>
+
+<function name="gtk_widget_get_css_name">
+<description>
+Returns the CSS name that is used for @self.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> the CSS name
+</return>
+</function>
+
 <function name="gtk_widget_get_cursor">
 <description>
 Queries the cursor set via gtk_widget_set_cursor(). See that function for
@@ -81908,6 +80468,26 @@ never should be called by an application.
 <return></return>
 </function>
 
+<function name="gtk_widget_set_css_classes">
+<description>
+Will clear all css classes applied to @widget
+and replace them with @classes.
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+<parameter name="classes">
+<parameter_description> %NULL-terminated list
+of css classes to apply to @widget.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_widget_set_cursor">
 <description>
 Sets the cursor to be shown when pointer devices point towards @widget.
@@ -82912,7 +81492,7 @@ overriding the standard key handling for a toplevel window.
 </parameter_description>
 </parameter>
 <parameter name="event">
-<parameter_description>   a #GdkEventKey
+<parameter_description>   a #GdkEvent
 </parameter_description>
 </parameter>
 </parameters>
@@ -83441,7 +82021,7 @@ implemented as an asynchronous operation, GTK+ cannot guarantee in any
 way that this code:
 
 |[&lt;!-- language=&quot;C&quot; --&gt;
-GtkWindow *window = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL));
+GtkWindow *window = GTK_WINDOW (gtk_window_new ());
 int width = 500;
 int height = 300;
 gtk_window_resize (window, width, height);
@@ -83607,22 +82187,6 @@ Gets the type hint for this window. See gtk_window_set_type_hint().
 </return>
 </function>
 
-<function name="gtk_window_get_window_type">
-<description>
-Gets the type of the window. See #GtkWindowType.
-
-
-</description>
-<parameters>
-<parameter name="window">
-<parameter_description> a #GtkWindow
-</parameter_description>
-</parameter>
-</parameters>
-<return> the type of the window
-</return>
-</function>
-
 <function name="gtk_window_group_add_window">
 <description>
 Adds a window to a #GtkWindowGroup. 
@@ -83883,17 +82447,10 @@ Activates the targets associated with the mnemonic.
 <function name="gtk_window_new">
 <description>
 Creates a new #GtkWindow, which is a toplevel window that can
-contain other widgets. Nearly always, the type of the window should
-be #GTK_WINDOW_TOPLEVEL. If you’re implementing something like a
-popup menu from scratch (which is a bad idea, just use #GtkMenu),
-you might use #GTK_WINDOW_POPUP. #GTK_WINDOW_POPUP is not for
-dialogs, though in some other toolkits dialogs are called “popups”.
-In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip.
-On X11, popup windows are not controlled by the
-[window manager][gtk-X11-arch].
-
-If you simply want an undecorated window (no window borders), use
-gtk_window_set_decorated(), don’t use #GTK_WINDOW_POPUP.
+contain other widgets.
+
+To get an undecorated window (no window borders), use
+gtk_window_set_decorated().
 
 All top-level windows created by gtk_window_new() are stored in
 an internal top-level window list.  This list can be obtained from
@@ -83906,10 +82463,6 @@ To delete a #GtkWindow, call gtk_widget_destroy().
 
 </description>
 <parameters>
-<parameter name="type">
-<parameter_description> type of window
-</parameter_description>
-</parameter>
 </parameters>
 <return> a new #GtkWindow.
 </return>
@@ -83984,7 +82537,7 @@ overriding the standard key handling for a toplevel window.
 </parameter_description>
 </parameter>
 <parameter name="event">
-<parameter_description>   a #GdkEventKey
+<parameter_description>   a #GdkEvent
 </parameter_description>
 </parameter>
 </parameters>
@@ -84753,11 +83306,6 @@ gtk_window_set_transient_for() on your behalf.
 
 Passing %NULL for @parent unsets the current transient window.
 
-This function can also be used to attach a new
-#GTK_WINDOW_POPUP to a #GTK_WINDOW_TOPLEVEL parent already mapped
-on screen so that the #GTK_WINDOW_POPUP will be
-positioned relative to the #GTK_WINDOW_TOPLEVEL surface.
-
 On Windows, this function puts the child window on top of the parent,
 much as the window manager would have done on X.
 
diff --git a/gtk/src/gtk_enums.defs b/gtk/src/gtk_enums.defs
index 01373d81..5dab76a8 100644
--- a/gtk/src/gtk_enums.defs
+++ b/gtk/src/gtk_enums.defs
@@ -1528,8 +1528,7 @@
 ;; {
 ;;   GTK_FILE_CHOOSER_ACTION_OPEN,
 ;;   GTK_FILE_CHOOSER_ACTION_SAVE,
-;;   GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
-;;   GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
+;;   GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
 ;; } GtkFileChooserAction;
 
 (define-enum-extended GtkFileChooserAction
@@ -1539,25 +1538,6 @@
     '("open" "GTK_FILE_CHOOSER_ACTION_OPEN" "0")
     '("save" "GTK_FILE_CHOOSER_ACTION_SAVE" "1")
     '("select-folder" "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER" "2")
-    '("create-folder" "GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER" "3")
-  )
-)
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM,
-;;   GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME,
-;;   GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN
-;; } GtkFileChooserConfirmation;
-
-(define-enum-extended GtkFileChooserConfirmation
-  (in-module "Gsk")
-  (c-name "GtkFileChooserConfirmation")
-  (values
-    '("confirm" "GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM" "0")
-    '("accept-filename" "GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME" "1")
-    '("select-again" "GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN" "2")
   )
 )
 
@@ -1587,14 +1567,7 @@
 ;;   GTK_FILE_CHOOSER_PROP_FIRST                  = 0x1000,
 ;;   GTK_FILE_CHOOSER_PROP_ACTION                 = GTK_FILE_CHOOSER_PROP_FIRST,
 ;;   GTK_FILE_CHOOSER_PROP_FILTER,
-;;   GTK_FILE_CHOOSER_PROP_LOCAL_ONLY,
-;;   GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET,
-;;   GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE,
-;;   GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL,
-;;   GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET,
 ;;   GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE,
-;;   GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN,
-;;   GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION,
 ;;   GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS,
 ;;   GTK_FILE_CHOOSER_PROP_LAST                   = GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS
 ;; } GtkFileChooserProp;
@@ -1606,16 +1579,9 @@
     '("first" "GTK_FILE_CHOOSER_PROP_FIRST" "0x1000")
     '("action" "GTK_FILE_CHOOSER_PROP_ACTION" "4096")
     '("filter" "GTK_FILE_CHOOSER_PROP_FILTER" "4097")
-    '("local-only" "GTK_FILE_CHOOSER_PROP_LOCAL_ONLY" "4098")
-    '("preview-widget" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET" "4099")
-    '("preview-widget-active" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE" "4100")
-    '("use-preview-label" "GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL" "4101")
-    '("extra-widget" "GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET" "4102")
-    '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE" "4103")
-    '("show-hidden" "GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN" "4104")
-    '("do-overwrite-confirmation" "GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION" "4105")
-    '("create-folders" "GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS" "4106")
-    '("last" "GTK_FILE_CHOOSER_PROP_LAST" "4106")
+    '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE" "4098")
+    '("create-folders" "GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS" "4099")
+    '("last" "GTK_FILE_CHOOSER_PROP_LAST" "4099")
   )
 )
 
@@ -2435,24 +2401,6 @@
   )
 )
 
-;; From gtkwindow.h
-
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GTK_WINDOW_TOPLEVEL,
-;;   GTK_WINDOW_POPUP
-;; } GtkWindowType;
-
-(define-enum-extended GtkWindowType
-  (in-module "Gsk")
-  (c-name "GtkWindowType")
-  (values
-    '("toplevel" "GTK_WINDOW_TOPLEVEL" "0")
-    '("popup" "GTK_WINDOW_POPUP" "1")
-  )
-)
-
 ;; From gtkcssenums.h
 
 ;; Original typedef:
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index 80842788..b47910ec 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -1371,18 +1371,6 @@
     '("open" "GTK_FILE_CHOOSER_ACTION_OPEN")
     '("save" "GTK_FILE_CHOOSER_ACTION_SAVE")
     '("select-folder" "GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER")
-    '("create-folder" "GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER")
-  )
-)
-
-(define-enum FileChooserConfirmation
-  (in-module "Gtk")
-  (c-name "GtkFileChooserConfirmation")
-  (gtype-id "GTK_TYPE_FILE_CHOOSER_CONFIRMATION")
-  (values
-    '("confirm" "GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM")
-    '("accept-filename" "GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME")
-    '("select-again" "GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN")
   )
 )
 
@@ -1406,14 +1394,7 @@
     '("first" "GTK_FILE_CHOOSER_PROP_FIRST")
     '("action" "GTK_FILE_CHOOSER_PROP_ACTION")
     '("filter" "GTK_FILE_CHOOSER_PROP_FILTER")
-    '("local-only" "GTK_FILE_CHOOSER_PROP_LOCAL_ONLY")
-    '("preview-widget" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET")
-    '("preview-widget-active" "GTK_FILE_CHOOSER_PROP_PREVIEW_WIDGET_ACTIVE")
-    '("use-preview-label" "GTK_FILE_CHOOSER_PROP_USE_PREVIEW_LABEL")
-    '("extra-widget" "GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET")
     '("select-multiple" "GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE")
-    '("show-hidden" "GTK_FILE_CHOOSER_PROP_SHOW_HIDDEN")
-    '("do-overwrite-confirmation" "GTK_FILE_CHOOSER_PROP_DO_OVERWRITE_CONFIRMATION")
     '("create-folders" "GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS")
     '("last" "GTK_FILE_CHOOSER_PROP_LAST")
   )
@@ -1874,16 +1855,6 @@
   )
 )
 
-(define-enum WindowType
-  (in-module "Gtk")
-  (c-name "GtkWindowType")
-  (gtype-id "GTK_TYPE_WINDOW_TYPE")
-  (values
-    '("toplevel" "GTK_WINDOW_TOPLEVEL")
-    '("popup" "GTK_WINDOW_POPUP")
-  )
-)
-
 (define-enum CssParserError
   (in-module "Gtk")
   (c-name "GtkCssParserError")
@@ -3786,7 +3757,7 @@
   (return-type "gboolean")
   (parameters
     '("GObject*" "object")
-    '("GdkEventKey*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -7440,28 +7411,6 @@
   (return-type "const-char*")
 )
 
-(define-method read_selection
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_read_selection")
-  (return-type "none")
-  (parameters
-    '("GdkAtom" "target")
-    '("GCancellable*" "cancellable")
-    '("GAsyncReadyCallback" "callback")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method read_selection_finish
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_read_selection_finish")
-  (return-type "GtkSelectionData*")
-  (parameters
-    '("GAsyncResult*" "result")
-    '("GError**" "error")
-  )
-)
-
 (define-method deny_drop
   (of-object "GtkDropTarget")
   (c-name "gtk_drop_target_deny_drop")
@@ -7632,6 +7581,39 @@
 
 
 
+;; From gtkdropcontrollermotion.h
+
+(define-function gtk_drop_controller_motion_get_type
+  (c-name "gtk_drop_controller_motion_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_drop_controller_motion_new
+  (c-name "gtk_drop_controller_motion_new")
+  (is-constructor-of "GtkDropControllerMotion")
+  (return-type "GtkEventController*")
+)
+
+(define-method contains_pointer
+  (of-object "GtkDropControllerMotion")
+  (c-name "gtk_drop_controller_motion_contains_pointer")
+  (return-type "gboolean")
+)
+
+(define-method get_drop
+  (of-object "GtkDropControllerMotion")
+  (c-name "gtk_drop_controller_motion_get_drop")
+  (return-type "GdkDrop*")
+)
+
+(define-method is_pointer
+  (of-object "GtkDropControllerMotion")
+  (c-name "gtk_drop_controller_motion_is_pointer")
+  (return-type "gboolean")
+)
+
+
+
 ;; From gtkeditable.h
 
 (define-function gtk_editable_get_type
@@ -8690,8 +8672,40 @@
 
 
 
+;; From gtkeventcontrollerfocus.h
+
+(define-function gtk_event_controller_focus_get_type
+  (c-name "gtk_event_controller_focus_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_event_controller_focus_new
+  (c-name "gtk_event_controller_focus_new")
+  (is-constructor-of "GtkEventControllerFocus")
+  (return-type "GtkEventController*")
+)
+
+(define-method contains_focus
+  (of-object "GtkEventControllerFocus")
+  (c-name "gtk_event_controller_focus_contains_focus")
+  (return-type "gboolean")
+)
+
+(define-method is_focus
+  (of-object "GtkEventControllerFocus")
+  (c-name "gtk_event_controller_focus_is_focus")
+  (return-type "gboolean")
+)
+
+
+
 ;; From gtkeventcontroller.h
 
+(define-function gtk_crossing_data_get_type
+  (c-name "gtk_crossing_data_get_type")
+  (return-type "GType")
+)
+
 (define-function gtk_event_controller_get_type
   (c-name "gtk_event_controller_get_type")
   (return-type "GType")
@@ -8703,15 +8717,6 @@
   (return-type "GtkWidget*")
 )
 
-(define-method handle_event
-  (of-object "GtkEventController")
-  (c-name "gtk_event_controller_handle_event")
-  (return-type "gboolean")
-  (parameters
-    '("const-GdkEvent*" "event")
-  )
-)
-
 (define-method reset
   (of-object "GtkEventController")
   (c-name "gtk_event_controller_reset")
@@ -8808,30 +8813,6 @@
   (return-type "guint")
 )
 
-(define-method get_focus_origin
-  (of-object "GtkEventControllerKey")
-  (c-name "gtk_event_controller_key_get_focus_origin")
-  (return-type "GtkWidget*")
-)
-
-(define-method get_focus_target
-  (of-object "GtkEventControllerKey")
-  (c-name "gtk_event_controller_key_get_focus_target")
-  (return-type "GtkWidget*")
-)
-
-(define-method contains_focus
-  (of-object "GtkEventControllerKey")
-  (c-name "gtk_event_controller_key_contains_focus")
-  (return-type "gboolean")
-)
-
-(define-method is_focus
-  (of-object "GtkEventControllerKey")
-  (c-name "gtk_event_controller_key_is_focus")
-  (return-type "gboolean")
-)
-
 
 
 ;; From gtkeventcontrollerlegacy.h
@@ -8862,18 +8843,6 @@
   (return-type "GtkEventController*")
 )
 
-(define-method get_pointer_origin
-  (of-object "GtkEventControllerMotion")
-  (c-name "gtk_event_controller_motion_get_pointer_origin")
-  (return-type "GtkWidget*")
-)
-
-(define-method get_pointer_target
-  (of-object "GtkEventControllerMotion")
-  (c-name "gtk_event_controller_motion_get_pointer_target")
-  (return-type "GtkWidget*")
-)
-
 (define-method contains_pointer
   (of-object "GtkEventControllerMotion")
   (c-name "gtk_event_controller_motion_contains_pointer")
@@ -9151,21 +9120,6 @@
   (return-type "GtkFileChooserAction")
 )
 
-(define-method set_local_only
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_local_only")
-  (return-type "none")
-  (parameters
-    '("gboolean" "local_only")
-  )
-)
-
-(define-method get_local_only
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_local_only")
-  (return-type "gboolean")
-)
-
 (define-method set_select_multiple
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_set_select_multiple")
@@ -9181,36 +9135,6 @@
   (return-type "gboolean")
 )
 
-(define-method set_show_hidden
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_show_hidden")
-  (return-type "none")
-  (parameters
-    '("gboolean" "show_hidden")
-  )
-)
-
-(define-method get_show_hidden
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_show_hidden")
-  (return-type "gboolean")
-)
-
-(define-method set_do_overwrite_confirmation
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_do_overwrite_confirmation")
-  (return-type "none")
-  (parameters
-    '("gboolean" "do_overwrite_confirmation")
-  )
-)
-
-(define-method get_do_overwrite_confirmation
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_do_overwrite_confirmation")
-  (return-type "gboolean")
-)
-
 (define-method set_create_folders
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_set_create_folders")
@@ -9241,39 +9165,6 @@
   (return-type "gchar*")
 )
 
-(define-method get_filename
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_filename")
-  (return-type "gchar*")
-)
-
-(define-method set_filename
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_filename")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "filename")
-  )
-)
-
-(define-method select_filename
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_select_filename")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "filename")
-  )
-)
-
-(define-method unselect_filename
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_unselect_filename")
-  (return-type "none")
-  (parameters
-    '("const-char*" "filename")
-  )
-)
-
 (define-method select_all
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_select_all")
@@ -9286,81 +9177,6 @@
   (return-type "none")
 )
 
-(define-method get_filenames
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_filenames")
-  (return-type "GSList*")
-)
-
-(define-method set_current_folder
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_current_folder")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-  )
-)
-
-(define-method get_current_folder
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_current_folder")
-  (return-type "gchar*")
-)
-
-(define-method get_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_uri")
-  (return-type "gchar*")
-)
-
-(define-method set_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_uri")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "uri")
-  )
-)
-
-(define-method select_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_select_uri")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "uri")
-  )
-)
-
-(define-method unselect_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_unselect_uri")
-  (return-type "none")
-  (parameters
-    '("const-char*" "uri")
-  )
-)
-
-(define-method get_uris
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_uris")
-  (return-type "GSList*")
-)
-
-(define-method set_current_folder_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_current_folder_uri")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "uri")
-  )
-)
-
-(define-method get_current_folder_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_current_folder_uri")
-  (return-type "gchar*")
-)
-
 (define-method get_file
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_get_file")
@@ -9402,9 +9218,9 @@
   (return-type "GSList*")
 )
 
-(define-method set_current_folder_file
+(define-method set_current_folder
   (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_current_folder_file")
+  (c-name "gtk_file_chooser_set_current_folder")
   (return-type "gboolean")
   (parameters
     '("GFile*" "file")
@@ -9412,90 +9228,12 @@
   )
 )
 
-(define-method get_current_folder_file
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_current_folder_file")
-  (return-type "GFile*")
-)
-
-(define-method set_preview_widget
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_preview_widget")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "preview_widget")
-  )
-)
-
-(define-method get_preview_widget
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_preview_widget")
-  (return-type "GtkWidget*")
-)
-
-(define-method set_preview_widget_active
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_preview_widget_active")
-  (return-type "none")
-  (parameters
-    '("gboolean" "active")
-  )
-)
-
-(define-method get_preview_widget_active
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_preview_widget_active")
-  (return-type "gboolean")
-)
-
-(define-method set_use_preview_label
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_use_preview_label")
-  (return-type "none")
-  (parameters
-    '("gboolean" "use_label")
-  )
-)
-
-(define-method get_use_preview_label
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_use_preview_label")
-  (return-type "gboolean")
-)
-
-(define-method get_preview_filename
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_preview_filename")
-  (return-type "char*")
-)
-
-(define-method get_preview_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_preview_uri")
-  (return-type "char*")
-)
-
-(define-method get_preview_file
+(define-method get_current_folder
   (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_preview_file")
+  (c-name "gtk_file_chooser_get_current_folder")
   (return-type "GFile*")
 )
 
-(define-method set_extra_widget
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_set_extra_widget")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "extra_widget")
-  )
-)
-
-(define-method get_extra_widget
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_get_extra_widget")
-  (return-type "GtkWidget*")
-)
-
 (define-method add_filter
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_add_filter")
@@ -9540,7 +9278,7 @@
   (c-name "gtk_file_chooser_add_shortcut_folder")
   (return-type "gboolean")
   (parameters
-    '("const-char*" "folder")
+    '("GFile*" "folder")
     '("GError**" "error")
   )
 )
@@ -9550,7 +9288,7 @@
   (c-name "gtk_file_chooser_remove_shortcut_folder")
   (return-type "gboolean")
   (parameters
-    '("const-char*" "folder")
+    '("GFile*" "folder")
     '("GError**" "error")
   )
 )
@@ -9561,32 +9299,6 @@
   (return-type "GSList*")
 )
 
-(define-method add_shortcut_folder_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_add_shortcut_folder_uri")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "uri")
-    '("GError**" "error")
-  )
-)
-
-(define-method remove_shortcut_folder_uri
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_remove_shortcut_folder_uri")
-  (return-type "gboolean")
-  (parameters
-    '("const-char*" "uri")
-    '("GError**" "error")
-  )
-)
-
-(define-method list_shortcut_folder_uris
-  (of-object "GtkFileChooser")
-  (c-name "gtk_file_chooser_list_shortcut_folder_uris")
-  (return-type "GSList*")
-)
-
 (define-method add_choice
   (of-object "GtkFileChooser")
   (c-name "gtk_file_chooser_add_choice")
@@ -10738,7 +10450,7 @@
 (define-method get_last_event
   (of-object "GtkGesture")
   (c-name "gtk_gesture_get_last_event")
-  (return-type "const-GdkEvent*")
+  (return-type "GdkEvent*")
   (parameters
     '("GdkEventSequence*" "sequence")
   )
@@ -11720,71 +11432,69 @@
   )
 )
 
-(define-method set_display
-  (of-object "GtkIconTheme")
-  (c-name "gtk_icon_theme_set_display")
-  (return-type "none")
-  (parameters
-    '("GdkDisplay*" "display")
-  )
-)
-
 (define-method set_search_path
   (of-object "GtkIconTheme")
   (c-name "gtk_icon_theme_set_search_path")
   (return-type "none")
   (parameters
-    '("const-gchar*[]" "path")
-    '("gint" "n_elements")
+    '("const-char*-const*" "path")
   )
 )
 
 (define-method get_search_path
   (of-object "GtkIconTheme")
   (c-name "gtk_icon_theme_get_search_path")
-  (return-type "none")
-  (parameters
-    '("gchar**[]" "path")
-    '("gint*" "n_elements")
-  )
+  (return-type "char**")
 )
 
-(define-method append_search_path
+(define-method add_search_path
   (of-object "GtkIconTheme")
-  (c-name "gtk_icon_theme_append_search_path")
+  (c-name "gtk_icon_theme_add_search_path")
   (return-type "none")
   (parameters
-    '("const-gchar*" "path")
+    '("const-char*" "path")
   )
 )
 
-(define-method prepend_search_path
+(define-method set_resource_path
   (of-object "GtkIconTheme")
-  (c-name "gtk_icon_theme_prepend_search_path")
+  (c-name "gtk_icon_theme_set_resource_path")
   (return-type "none")
   (parameters
-    '("const-gchar*" "path")
+    '("const-char*-const*" "path")
   )
 )
 
+(define-method get_resource_path
+  (of-object "GtkIconTheme")
+  (c-name "gtk_icon_theme_get_resource_path")
+  (return-type "char**")
+)
+
 (define-method add_resource_path
   (of-object "GtkIconTheme")
   (c-name "gtk_icon_theme_add_resource_path")
   (return-type "none")
   (parameters
-    '("const-gchar*" "path")
+    '("const-char*" "path")
   )
 )
 
-(define-method set_custom_theme
+(define-method set_theme_name
   (of-object "GtkIconTheme")
-  (c-name "gtk_icon_theme_set_custom_theme")
+  (c-name "gtk_icon_theme_set_theme_name")
   (return-type "none")
   (parameters
-    '("const-gchar*" "theme_name")
+    '("const-char*" "theme_name")
   )
 )
 
+(define-method get_theme_name
+  (of-object "GtkIconTheme")
+  (c-name "gtk_icon_theme_get_theme_name")
+  (return-type "char*")
+)
+
 (define-method has_icon
   (of-object "GtkIconTheme")
   (c-name "gtk_icon_theme_has_icon")
@@ -11840,10 +11550,10 @@
   )
 )
 
-(define-method list_icons
+(define-method get_icon_names
   (of-object "GtkIconTheme")
-  (c-name "gtk_icon_theme_list_icons")
-  (return-type "GList*")
+  (c-name "gtk_icon_theme_get_icon_names")
+  (return-type "char**")
 )
 
 (define-function gtk_icon_paintable_get_type
@@ -12627,7 +12337,7 @@
   (c-name "gtk_im_context_filter_keypress")
   (return-type "gboolean")
   (parameters
-    '("GdkEventKey*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -12841,18 +12551,6 @@
   (varargs #t)
 )
 
-(define-method get_action_area
-  (of-object "GtkInfoBar")
-  (c-name "gtk_info_bar_get_action_area")
-  (return-type "GtkWidget*")
-)
-
-(define-method get_content_area
-  (of-object "GtkInfoBar")
-  (c-name "gtk_info_bar_get_content_area")
-  (return-type "GtkWidget*")
-)
-
 (define-method add_action_widget
   (of-object "GtkInfoBar")
   (c-name "gtk_info_bar_add_action_widget")
@@ -14344,31 +14042,6 @@
   (return-type "GdkDevice*")
 )
 
-(define-function gtk_get_event_widget
-  (c-name "gtk_get_event_widget")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-GdkEvent*" "event")
-  )
-)
-
-(define-function gtk_get_event_target
-  (c-name "gtk_get_event_target")
-  (return-type "GtkWidget*")
-  (parameters
-    '("const-GdkEvent*" "event")
-  )
-)
-
-(define-function gtk_get_event_target_with_type
-  (c-name "gtk_get_event_target_with_type")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GdkEvent*" "event")
-    '("GType" "type")
-  )
-)
-
 
 
 ;; From gtkmaplistmodel.h
@@ -20287,204 +19960,6 @@
 
 
 
-;; From gtkselection.h
-
-(define-method get_target
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_target")
-  (return-type "GdkAtom")
-)
-
-(define-method get_data_type
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_data_type")
-  (return-type "GdkAtom")
-)
-
-(define-method get_format
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_format")
-  (return-type "gint")
-)
-
-(define-method get_data
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_data")
-  (return-type "const-guchar*")
-)
-
-(define-method get_length
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_length")
-  (return-type "gint")
-)
-
-(define-method get_data_with_length
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_data_with_length")
-  (return-type "const-guchar*")
-  (parameters
-    '("gint*" "length")
-  )
-)
-
-(define-method get_display
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_display")
-  (return-type "GdkDisplay*")
-)
-
-(define-method set
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_set")
-  (return-type "none")
-  (parameters
-    '("GdkAtom" "type")
-    '("gint" "format")
-    '("const-guchar*" "data")
-    '("gint" "length")
-  )
-)
-
-(define-method set_text
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_set_text")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "str")
-    '("gint" "len")
-  )
-)
-
-(define-method get_text
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_text")
-  (return-type "guchar*")
-)
-
-(define-method set_pixbuf
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_set_pixbuf")
-  (return-type "gboolean")
-  (parameters
-    '("GdkPixbuf*" "pixbuf")
-  )
-)
-
-(define-method get_pixbuf
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_pixbuf")
-  (return-type "GdkPixbuf*")
-)
-
-(define-method set_texture
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_set_texture")
-  (return-type "gboolean")
-  (parameters
-    '("GdkTexture*" "texture")
-  )
-)
-
-(define-method get_texture
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_texture")
-  (return-type "GdkTexture*")
-)
-
-(define-method set_uris
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_set_uris")
-  (return-type "gboolean")
-  (parameters
-    '("gchar**" "uris")
-  )
-)
-
-(define-method get_uris
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_uris")
-  (return-type "gchar**")
-)
-
-(define-method get_targets
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_get_targets")
-  (return-type "gboolean")
-  (parameters
-    '("GdkAtom**" "targets")
-    '("gint*" "n_atoms")
-  )
-)
-
-(define-method targets_include_text
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_targets_include_text")
-  (return-type "gboolean")
-)
-
-(define-method targets_include_image
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_targets_include_image")
-  (return-type "gboolean")
-  (parameters
-    '("gboolean" "writable")
-  )
-)
-
-(define-method targets_include_uri
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_targets_include_uri")
-  (return-type "gboolean")
-)
-
-(define-function gtk_targets_include_text
-  (c-name "gtk_targets_include_text")
-  (return-type "gboolean")
-  (parameters
-    '("GdkAtom*" "targets")
-    '("gint" "n_targets")
-  )
-)
-
-(define-function gtk_targets_include_image
-  (c-name "gtk_targets_include_image")
-  (return-type "gboolean")
-  (parameters
-    '("GdkAtom*" "targets")
-    '("gint" "n_targets")
-    '("gboolean" "writable")
-  )
-)
-
-(define-function gtk_targets_include_uri
-  (c-name "gtk_targets_include_uri")
-  (return-type "gboolean")
-  (parameters
-    '("GdkAtom*" "targets")
-    '("gint" "n_targets")
-  )
-)
-
-(define-function gtk_selection_data_get_type
-  (c-name "gtk_selection_data_get_type")
-  (return-type "GType")
-)
-
-(define-method copy
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_copy")
-  (return-type "GtkSelectionData*")
-)
-
-(define-method free
-  (of-object "GtkSelectionData")
-  (c-name "gtk_selection_data_free")
-  (return-type "none")
-)
-
-
-
 ;; From gtkselectionmodel.h
 
 (define-method is_selected
@@ -21648,6 +21123,27 @@
   (return-type "GType")
 )
 
+(define-method get_child
+  (of-object "GtkStackPage")
+  (c-name "gtk_stack_page_get_child")
+  (return-type "GtkWidget*")
+)
+
+(define-method get_visible
+  (of-object "GtkStackPage")
+  (c-name "gtk_stack_page_get_visible")
+  (return-type "gboolean")
+)
+
+(define-method set_visible
+  (of-object "GtkStackPage")
+  (c-name "gtk_stack_page_set_visible")
+  (return-type "none")
+  (parameters
+    '("gboolean" "visible")
+  )
+)
+
 (define-function gtk_stack_get_type
   (c-name "gtk_stack_get_type")
   (return-type "GType")
@@ -21689,12 +21185,6 @@
   )
 )
 
-(define-method get_child
-  (of-object "GtkStackPage")
-  (c-name "gtk_stack_page_get_child")
-  (return-type "GtkWidget*")
-)
-
 (define-method get_child_by_name
   (of-object "GtkStack")
   (c-name "gtk_stack_get_child_by_name")
@@ -22063,12 +21553,6 @@
   (return-type "gint")
 )
 
-(define-method get_parent
-  (of-object "GtkStyleContext")
-  (c-name "gtk_style_context_get_parent")
-  (return-type "GtkStyleContext*")
-)
-
 (define-method list_classes
   (of-object "GtkStyleContext")
   (c-name "gtk_style_context_list_classes")
@@ -22539,7 +22023,7 @@
   (return-type "none")
   (parameters
     '("GtkTextIter*" "iter")
-    '("GdkPaintable*" "texture")
+    '("GdkPaintable*" "paintable")
   )
 )
 
@@ -24413,7 +23897,7 @@
   (c-name "gtk_text_view_im_context_filter_keypress")
   (return-type "gboolean")
   (parameters
-    '("GdkEventKey*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -24880,6 +24364,11 @@
 
 ;; From gtktreednd.h
 
+(define-function gtk_tree_row_data_get_type
+  (c-name "gtk_tree_row_data_get_type")
+  (return-type "GType")
+)
+
 (define-function gtk_tree_drag_source_get_type
   (c-name "gtk_tree_drag_source_get_type")
   (return-type "GType")
@@ -24906,10 +24395,9 @@
 (define-method drag_data_get
   (of-object "GtkTreeDragSource")
   (c-name "gtk_tree_drag_source_drag_data_get")
-  (return-type "gboolean")
+  (return-type "GdkContentProvider*")
   (parameters
     '("GtkTreePath*" "path")
-    '("GtkSelectionData*" "selection_data")
   )
 )
 
@@ -24924,7 +24412,7 @@
   (return-type "gboolean")
   (parameters
     '("GtkTreePath*" "dest")
-    '("GtkSelectionData*" "selection_data")
+    '("const-GValue*" "value")
   )
 )
 
@@ -24934,15 +24422,14 @@
   (return-type "gboolean")
   (parameters
     '("GtkTreePath*" "dest_path")
-    '("GtkSelectionData*" "selection_data")
+    '("const-GValue*" "value")
   )
 )
 
-(define-function gtk_tree_set_row_drag_data
-  (c-name "gtk_tree_set_row_drag_data")
-  (return-type "gboolean")
+(define-function gtk_tree_create_row_drag_content
+  (c-name "gtk_tree_create_row_drag_content")
+  (return-type "GdkContentProvider*")
   (parameters
-    '("GtkSelectionData*" "selection_data")
     '("GtkTreeModel*" "tree_model")
     '("GtkTreePath*" "path")
   )
@@ -24952,7 +24439,7 @@
   (c-name "gtk_tree_get_row_drag_data")
   (return-type "gboolean")
   (parameters
-    '("GtkSelectionData*" "selection_data")
+    '("const-GValue*" "value")
     '("GtkTreeModel**" "tree_model")
     '("GtkTreePath**" "path")
   )
@@ -27931,15 +27418,6 @@
   )
 )
 
-(define-method event
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_event")
-  (return-type "gboolean")
-  (parameters
-    '("GdkEvent*" "event")
-  )
-)
-
 (define-method activate
   (of-object "GtkWidget")
   (c-name "gtk_widget_activate")
@@ -29095,6 +28573,12 @@
   (return-type "gboolean")
 )
 
+(define-method get_css_name
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_css_name")
+  (return-type "const-char*")
+)
+
 (define-method add_css_class
   (of-object "GtkWidget")
   (c-name "gtk_widget_add_css_class")
@@ -29122,6 +28606,21 @@
   )
 )
 
+(define-method get_css_classes
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_css_classes")
+  (return-type "char**")
+)
+
+(define-method set_css_classes
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_set_css_classes")
+  (return-type "none")
+  (parameters
+    '("const-char**" "classes")
+  )
+)
+
 (define-method install_action
   (of-object "GtkWidgetClass")
   (c-name "gtk_widget_class_install_action")
@@ -29258,9 +28757,6 @@
   (c-name "gtk_window_new")
   (is-constructor-of "GtkWindow")
   (return-type "GtkWidget*")
-  (parameters
-    '("GtkWindowType" "type")
-  )
 )
 
 (define-method set_title
@@ -29650,7 +29146,7 @@
   (c-name "gtk_window_activate_key")
   (return-type "gboolean")
   (parameters
-    '("GdkEventKey*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -29659,7 +29155,7 @@
   (c-name "gtk_window_propagate_key_event")
   (return-type "gboolean")
   (parameters
-    '("GdkEventKey*" "event")
+    '("GdkEvent*" "event")
   )
 )
 
@@ -29836,12 +29332,6 @@
   (return-type "gboolean")
 )
 
-(define-method get_window_type
-  (of-object "GtkWindow")
-  (c-name "gtk_window_get_window_type")
-  (return-type "GtkWindowType")
-)
-
 (define-method get_application
   (of-object "GtkWindow")
   (c-name "gtk_window_get_application")
@@ -30381,11 +29871,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_file_chooser_confirmation_get_type
-  (c-name "gtk_file_chooser_confirmation_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_file_chooser_error_get_type
   (c-name "gtk_file_chooser_error_get_type")
   (return-type "GType")
@@ -30546,11 +30031,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_window_type_get_type
-  (c-name "gtk_window_type_get_type")
-  (return-type "GType")
-)
-
 
 
 ;; From gtkversion.h
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index 9430c9ae..4f1992cc 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -142,7 +142,7 @@
   (readable #t)
   (writable #t)
   (construct-only #f)
-  (default-value "image-missing")
+  (default-value "")
 )
 
 (define-property wrap-license
@@ -2801,6 +2801,63 @@
   (default-value "0")
 )
 
+;; From GtkDropControllerMotion
+
+(define-signal enter
+  (of-object "GtkDropControllerMotion")
+  (return-type "void")
+  (flags "Run Last")
+  (parameters
+    '("gdouble" "p0")
+    '("gdouble" "p1")
+  )
+)
+
+(define-signal leave
+  (of-object "GtkDropControllerMotion")
+  (return-type "void")
+  (flags "Run Last")
+)
+
+(define-signal motion
+  (of-object "GtkDropControllerMotion")
+  (return-type "void")
+  (flags "Run First")
+  (parameters
+    '("gdouble" "p0")
+    '("gdouble" "p1")
+  )
+)
+
+(define-property contains-pointer
+  (of-object "GtkDropControllerMotion")
+  (prop-type "GParamBoolean")
+  (docs "Whether the pointer is inthe controllers widget or a descendant")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property drop
+  (of-object "GtkDropControllerMotion")
+  (prop-type "GParamObject")
+  (docs "The ongoing drop operation")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property is-pointer
+  (of-object "GtkDropControllerMotion")
+  (prop-type "GParamBoolean")
+  (docs "Whether the pointer is in the controllers widget")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 ;; From GtkDropTarget
 
 (define-signal drag-enter
@@ -3636,6 +3693,40 @@
   (default-value "")
 )
 
+;; From GtkEventControllerFocus
+
+(define-signal enter
+  (of-object "GtkEventControllerFocus")
+  (return-type "void")
+  (flags "Run Last")
+)
+
+(define-signal leave
+  (of-object "GtkEventControllerFocus")
+  (return-type "void")
+  (flags "Run Last")
+)
+
+(define-property is-focus
+  (of-object "GtkEventControllerFocus")
+  (prop-type "GParamBoolean")
+  (docs "Whether the focus is in the controllers widget")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
+(define-property contains-focus
+  (of-object "GtkEventControllerFocus")
+  (prop-type "GParamBoolean")
+  (docs "Whether the focus is in a descendant of the controllers widget")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 ;; From GtkEventControllerKey
 
 (define-signal key-pressed
@@ -3675,67 +3766,25 @@
   (flags "Run Last")
 )
 
-(define-signal focus-in
-  (of-object "GtkEventControllerKey")
-  (return-type "void")
-  (flags "Run Last")
-  (parameters
-    '("GdkCrossingMode" "p0")
-    '("GdkNotifyType" "p1")
-  )
-)
-
-(define-signal focus-out
-  (of-object "GtkEventControllerKey")
-  (return-type "void")
-  (flags "Run Last")
-  (parameters
-    '("GdkCrossingMode" "p0")
-    '("GdkNotifyType" "p1")
-  )
-)
-
-(define-property is-focus
-  (of-object "GtkEventControllerKey")
-  (prop-type "GParamBoolean")
-  (docs "Whether the focus is in the controllers widget")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property contains-focus
-  (of-object "GtkEventControllerKey")
-  (prop-type "GParamBoolean")
-  (docs "Whether the focus is in a descendant of the controllers widget")
-  (readable #t)
-  (writable #f)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
 ;; From GtkEventControllerMotion
 
 (define-signal enter
   (of-object "GtkEventControllerMotion")
   (return-type "void")
-  (flags "Run First")
+  (flags "Run Last")
   (parameters
     '("gdouble" "p0")
     '("gdouble" "p1")
     '("GdkCrossingMode" "p2")
-    '("GdkNotifyType" "p3")
   )
 )
 
 (define-signal leave
   (of-object "GtkEventControllerMotion")
   (return-type "void")
-  (flags "Run First")
+  (flags "Run Last")
   (parameters
     '("GdkCrossingMode" "p0")
-    '("GdkNotifyType" "p1")
   )
 )
 
@@ -3882,6 +3931,16 @@
 
 ;; From GtkFileFilter
 
+(define-property name
+  (of-object "GtkFileFilter")
+  (prop-type "GParamString")
+  (docs "The human-readable name for this filter")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "")
+)
+
 ;; From GtkFileChooser
 
 (define-signal current-folder-changed
@@ -3896,24 +3955,12 @@
   (flags "Run Last")
 )
 
-(define-signal update-preview
-  (of-object "GtkFileChooser")
-  (return-type "void")
-  (flags "Run Last")
-)
-
 (define-signal file-activated
   (of-object "GtkFileChooser")
   (return-type "void")
   (flags "Run Last")
 )
 
-(define-signal confirm-overwrite
-  (of-object "GtkFileChooser")
-  (return-type "GtkFileChooserConfirmation")
-  (flags "Run Last")
-)
-
 (define-property action
   (of-object "GtkFileChooser")
   (prop-type "GParamEnum")
@@ -3934,25 +3981,6 @@
   (default-value "TRUE")
 )
 
-(define-property do-overwrite-confirmation
-  (of-object "GtkFileChooser")
-  (prop-type "GParamBoolean")
-  (docs "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property extra-widget
-  (of-object "GtkFileChooser")
-  (prop-type "GParamObject")
-  (docs "Application supplied widget for extra options.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property filter
   (of-object "GtkFileChooser")
   (prop-type "GParamObject")
@@ -3962,35 +3990,6 @@
   (construct-only #f)
 )
 
-(define-property local-only
-  (of-object "GtkFileChooser")
-  (prop-type "GParamBoolean")
-  (docs "Whether the selected file(s) should be limited to local file: URLs")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property preview-widget
-  (of-object "GtkFileChooser")
-  (prop-type "GParamObject")
-  (docs "Application supplied widget for custom previews.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
-(define-property preview-widget-active
-  (of-object "GtkFileChooser")
-  (prop-type "GParamBoolean")
-  (docs "Whether the application supplied widget for custom previews should be shown.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "TRUE")
-)
-
 (define-property select-multiple
   (of-object "GtkFileChooser")
   (prop-type "GParamBoolean")
@@ -4001,26 +4000,6 @@
   (default-value "FALSE")
 )
 
-(define-property show-hidden
-  (of-object "GtkFileChooser")
-  (prop-type "GParamBoolean")
-  (docs "Whether the hidden files and folders should be displayed")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
-(define-property use-preview-label
-  (of-object "GtkFileChooser")
-  (prop-type "GParamBoolean")
-  (docs "Whether to display a label with the name of the previewed file.")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "TRUE")
-)
-
 ;; From GtkFileChooserButton
 
 (define-signal file-set
@@ -4084,12 +4063,6 @@
 
 ;; From GtkFileChooserWidget
 
-(define-signal show-hidden
-  (of-object "GtkFileChooserWidget")
-  (return-type "void")
-  (flags "Run First, Action")
-)
-
 (define-signal location-popup
   (of-object "GtkFileChooserWidget")
   (return-type "void")
@@ -4144,6 +4117,12 @@
   )
 )
 
+(define-signal show-hidden
+  (of-object "GtkFileChooserWidget")
+  (return-type "void")
+  (flags "Run First, Action")
+)
+
 (define-signal search-shortcut
   (of-object "GtkFileChooserWidget")
   (return-type "void")
@@ -5255,6 +5234,52 @@
   (flags "Run Last")
 )
 
+(define-property display
+  (of-object "GtkIconTheme")
+  (prop-type "GParamObject")
+  (docs "Display")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property icon-names
+  (of-object "GtkIconTheme")
+  (prop-type "GParamBoxed")
+  (docs "Supported icon names")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property search-path
+  (of-object "GtkIconTheme")
+  (prop-type "GParamBoxed")
+  (docs "Search path")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property resource-path
+  (of-object "GtkIconTheme")
+  (prop-type "GParamBoxed")
+  (docs "Resource path")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property theme-name
+  (of-object "GtkIconTheme")
+  (prop-type "GParamString")
+  (docs "Theme name")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "")
+)
+
 ;; From GtkIconView
 
 (define-signal selection-changed
@@ -12214,6 +12239,15 @@
   (default-value "")
 )
 
+(define-property css-classes
+  (of-object "GtkWidget")
+  (prop-type "GParamBoxed")
+  (docs "List of CSS classes")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property layout-manager
   (of-object "GtkWidget")
   (prop-type "GParamObject")
@@ -12269,16 +12303,6 @@
   (flags "Run Last")
 )
 
-(define-property type
-  (of-object "GtkWindow")
-  (prop-type "GParamEnum")
-  (docs "The type of the window")
-  (readable #t)
-  (writable #t)
-  (construct-only #t)
-  (default-value "GTK_WINDOW_TOPLEVEL")
-)
-
 (define-property title
   (of-object "GtkWindow")
   (prop-type "GParamString")
diff --git a/gtk/src/gtk_vfuncs.defs b/gtk/src/gtk_vfuncs.defs
index 846e3f06..a7276c81 100644
--- a/gtk/src/gtk_vfuncs.defs
+++ b/gtk/src/gtk_vfuncs.defs
@@ -776,7 +776,7 @@
   (return-type "gboolean")
   (parameters
     '("GtkTreePath*" "dest")
-    '("GtkSelectionData*" "selection_data")
+    '("const-GValue*" "value")
   )
 )
 
@@ -785,7 +785,7 @@
   (return-type "gboolean")
   (parameters
     '("GtkTreePath*" "dest_path")
-    '("GtkSelectionData*" "selection_data")
+    '("const-GValue*" "value")
   )
 )
 
@@ -801,10 +801,9 @@
 
 (define-vfunc drag_data_get
   (of-object "GtkTreeDragSource")
-  (return-type "gboolean")
+  (return-type "GdkContentProvider*")
   (parameters
     '("GtkTreePath*" "path")
-    '("GtkSelectionData*" "selection_data")
   )
 )
 
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index a2a7ec2d..ad1efe5e 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -92,6 +92,7 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_DIALOG )
             << get_defs( GTK_TYPE_DRAG_SOURCE )
             << get_defs( GTK_TYPE_DRAWING_AREA )
+            << get_defs( GTK_TYPE_DROP_CONTROLLER_MOTION )
             << get_defs( GTK_TYPE_DROP_TARGET )
             << get_defs( GTK_TYPE_EDITABLE )
             << get_defs( GTK_TYPE_EMOJI_CHOOSER )
@@ -99,6 +100,7 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_ENTRY_COMPLETION )
             << get_defs( GTK_TYPE_ENTRY_BUFFER )
             << get_defs( GTK_TYPE_EVENT_CONTROLLER )
+            << get_defs( GTK_TYPE_EVENT_CONTROLLER_FOCUS )
             << get_defs( GTK_TYPE_EVENT_CONTROLLER_KEY )
             << get_defs( GTK_TYPE_EVENT_CONTROLLER_MOTION )
             << get_defs( GTK_TYPE_EVENT_CONTROLLER_SCROLL )


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