[vala/staging] gtk4: Update to 3.98+2da445f9



commit fc2536f783bc15922f87d6dfb9dc65dc6276885c
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Sat Feb 22 22:46:48 2020 +0100

    gtk4: Update to 3.98+2da445f9

 vapi/gtk4.vapi                    | 595 +++++++++++++++++---------------------
 vapi/metadata/Gdk-4.0-custom.vala |  76 ++---
 vapi/metadata/Gdk-4.0.metadata    |  36 +--
 vapi/metadata/Gtk-4.0.metadata    |   5 -
 4 files changed, 323 insertions(+), 389 deletions(-)
---
diff --git a/vapi/gtk4.vapi b/vapi/gtk4.vapi
index cc0be770a..f1fcca105 100644
--- a/vapi/gtk4.vapi
+++ b/vapi/gtk4.vapi
@@ -4603,10 +4603,10 @@ namespace Gdk {
                        public static void set_program_class (Gdk.Display display, string program_class);
                        public void set_startup_notification_id (string startup_id);
                        public void set_surface_scale (int scale);
-                       public int string_to_compound_text (string str, out unowned Gdk.Atom encoding, out 
int format, [CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
-                       public int text_property_to_text_list (Gdk.Atom encoding, int format, uint8 text, int 
length, string list);
+                       public int string_to_compound_text (string str, out unowned string encoding, out int 
format, [CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
+                       public int text_property_to_text_list (string encoding, int format, uint8 text, int 
length, string list);
                        public void ungrab ();
-                       public bool utf8_to_compound_text (string str, out Gdk.Atom encoding, out int format, 
[CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
+                       public bool utf8_to_compound_text (string str, out unowned string encoding, out int 
format, [CCode (array_length_cname = "length", array_length_pos = 4.1)] out uint8[] ctext);
                        public signal bool xevent ([CCode (type = "gpointer")] X.Event xevent);
                }
                [CCode (cheader_filename = "gdk/gdkx.h", type_id = "gdk_x11_drag_get_type ()")]
@@ -4647,7 +4647,7 @@ namespace Gdk {
                        public int get_screen_number ();
                        public unowned string get_window_manager_name ();
                        public unowned X.Screen get_xscreen ();
-                       public bool supports_net_wm_hint (Gdk.Atom property);
+                       public bool supports_net_wm_hint (string property_name);
                        public signal void window_manager_changed ();
                }
                [CCode (cheader_filename = "gdk/gdkx.h", type_id = "gdk_x11_surface_get_type ()")]
@@ -4671,8 +4671,6 @@ namespace Gdk {
                        public void set_utf8_property (string name, string? value);
                }
                [CCode (cheader_filename = "gdk/gdkx.h")]
-               public static X.Atom atom_to_xatom_for_display (Gdk.X11.Display display, Gdk.Atom atom);
-               [CCode (cheader_filename = "gdk/gdkx.h")]
                public static void free_compound_text ([CCode (array_length = false, type = "guchar*")] 
uint8[] ctext);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static void free_text_list (string list);
@@ -4686,23 +4684,23 @@ namespace Gdk {
                public static void register_standard_event_type (Gdk.X11.Display display, int event_base, int 
n_events);
                [CCode (cheader_filename = "gdk/gdkx.h")]
                public static void set_sm_client_id (string? sm_client_id);
-               [CCode (cheader_filename = "gdk/gdkx.h")]
-               public static unowned Gdk.Atom xatom_to_atom_for_display (Gdk.X11.Display display, X.Atom 
xatom);
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_app_launch_context_get_type ()")]
        public class AppLaunchContext : GLib.AppLaunchContext {
                [CCode (has_construct_function = false)]
                protected AppLaunchContext ();
+               public unowned Gdk.Display get_display ();
                public void set_desktop (int desktop);
                public void set_icon (GLib.Icon? icon);
                public void set_icon_name (string? icon_name);
                public void set_timestamp (uint32 timestamp);
-               [NoAccessorMethod]
-               public Gdk.Display display { owned get; construct; }
+               public Gdk.Display display { get; construct; }
        }
-       [CCode (cheader_filename = "gdk/gdk.h", type_id = "G_TYPE_STRING")]
-       [Compact]
-       public class Atom : string {
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ButtonEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected ButtonEvent ();
+               public uint get_button ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_cairo_context_get_type ()")]
        public abstract class CairoContext : Gdk.DrawContext {
@@ -4732,6 +4730,12 @@ namespace Gdk {
                public bool local { get; }
                public signal void changed ();
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ConfigureEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected ConfigureEvent ();
+               public void get_size (out int width, out int height);
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_content_deserializer_get_type ()")]
        public class ContentDeserializer : GLib.Object, GLib.AsyncResult {
                [CCode (has_construct_function = false)]
@@ -4756,7 +4760,8 @@ namespace Gdk {
                public bool contain_mime_type (string mime_type);
                [CCode (has_construct_function = false)]
                public ContentFormats.for_gtype (GLib.Type type);
-               public unowned GLib.Type? get_gtypes (out size_t n_gtypes);
+               [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
+               public unowned GLib.Type[]? get_gtypes ();
                [CCode (array_length = false, array_null_terminated = true)]
                public unowned string[]? get_mime_types (out size_t n_mime_types);
                public bool match (Gdk.ContentFormats second);
@@ -4803,9 +4808,7 @@ namespace Gdk {
                public virtual Gdk.ContentFormats ref_formats ();
                public virtual Gdk.ContentFormats ref_storable_formats ();
                [CCode (has_construct_function = false)]
-               public ContentProvider.with_callback (GLib.Type type, owned Gdk.ContentProviderGetValueFunc 
func);
-               [CCode (has_construct_function = false)]
-               public ContentProvider.with_formats (Gdk.ContentFormats formats, owned 
Gdk.ContentProviderGetBytesFunc? func);
+               public ContentProvider.union ([CCode (array_length_cname = "n_providers", array_length_pos = 
1.1, array_length_type = "gsize")] owned Gdk.ContentProvider[]? providers);
                public virtual async bool write_mime_type_async (string mime_type, GLib.OutputStream stream, 
int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
                [NoAccessorMethod]
                public Gdk.ContentFormats formats { owned get; }
@@ -4829,6 +4832,13 @@ namespace Gdk {
                public void return_success ();
                public void set_task_data (void* data, GLib.DestroyNotify notify);
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class CrossingEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected CrossingEvent ();
+               public Gdk.NotifyType get_detail ();
+               public Gdk.CrossingMode get_mode ();
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_cursor_get_type ()")]
        public class Cursor : GLib.Object {
                [CCode (has_construct_function = false)]
@@ -4856,44 +4866,41 @@ namespace Gdk {
                public unowned Gdk.Device? get_associated_device ();
                public Gdk.AxisFlags get_axes ();
                public bool get_axis ([CCode (array_length = false)] double[] axes, Gdk.AxisUse use, out 
double value);
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[]? get_axis_names ();
                public Gdk.AxisUse get_axis_use (uint index_);
-               public bool get_axis_value ([CCode (array_length = false)] double[] axes, Gdk.Atom 
axis_label, out double value);
+               public bool get_axis_value ([CCode (array_length = false)] double[] axes, string axis_label, 
out double value);
+               public unowned Gdk.DeviceTool get_device_tool ();
                public Gdk.DeviceType get_device_type ();
                public unowned Gdk.Display get_display ();
                public bool get_has_cursor ();
                public bool get_history (Gdk.Surface surface, uint32 start, uint32 stop, [CCode 
(array_length_cname = "n_events", array_length_pos = 4.1)] out Gdk.TimeCoord[] events);
                public bool get_key (uint index_, out uint keyval, out Gdk.ModifierType modifiers);
                public unowned Gdk.Surface? get_last_event_surface ();
-               public Gdk.InputMode get_mode ();
                public int get_n_axes ();
                public int get_n_keys ();
                public unowned string get_name ();
+               public uint get_num_touches ();
                public unowned string? get_product_id ();
                public unowned Gdk.Seat get_seat ();
                public Gdk.InputSource get_source ();
                public void get_state (Gdk.Surface surface, [CCode (array_length = false)] double[]? axes, 
out Gdk.ModifierType mask);
                public unowned Gdk.Surface? get_surface_at_position (out double win_x, out double win_y);
                public unowned string? get_vendor_id ();
-               public GLib.List<weak Gdk.Atom> list_axes ();
                public GLib.List<weak Gdk.Device>? list_slave_devices ();
                public void set_axis_use (uint index_, Gdk.AxisUse use);
                public void set_key (uint index_, uint keyval, Gdk.ModifierType modifiers);
-               public bool set_mode (Gdk.InputMode mode);
                public Gdk.Device? associated_device { get; }
                public Gdk.AxisFlags axes { get; }
                public Gdk.Display display { get; construct; }
                public bool has_cursor { get; construct; }
-               [NoAccessorMethod]
-               public Gdk.InputMode input_mode { get; set; }
-               [NoAccessorMethod]
-               public Gdk.InputSource input_source { get; construct; }
                public uint n_axes { get; }
                public string? name { get; construct; }
-               [NoAccessorMethod]
                public uint num_touches { get; construct; }
                public string product_id { get; construct; }
                [NoAccessorMethod]
                public Gdk.Seat seat { owned get; set; }
+               public Gdk.InputSource source { get; construct; }
                [NoAccessorMethod]
                public Gdk.DeviceTool tool { owned get; }
                [NoAccessorMethod]
@@ -4979,24 +4986,25 @@ namespace Gdk {
                protected Drag ();
                public static Gdk.Drag? begin (Gdk.Surface surface, Gdk.Device device, Gdk.ContentProvider 
content, Gdk.DragAction actions, int dx, int dy);
                public void drop_done (bool success);
+               public static unowned Gdk.Drop? event_get_drop (Gdk.Event event);
                public Gdk.DragAction get_actions ();
+               public unowned Gdk.ContentProvider get_content ();
                public unowned Gdk.Device get_device ();
                public unowned Gdk.Display get_display ();
                public unowned Gdk.Surface? get_drag_surface ();
                public unowned Gdk.ContentFormats get_formats ();
                public Gdk.DragAction get_selected_action ();
+               public unowned Gdk.Surface get_surface ();
                public void set_hotspot (int hot_x, int hot_y);
                [NoAccessorMethod]
                public Gdk.DragAction actions { get; set; }
-               [NoAccessorMethod]
-               public Gdk.ContentProvider content { owned get; construct; }
+               public Gdk.ContentProvider content { get; construct; }
                public Gdk.Device device { get; construct; }
                public Gdk.Display display { get; }
                public Gdk.ContentFormats formats { get; construct; }
                [NoAccessorMethod]
                public Gdk.DragAction selected_action { get; set; }
-               [NoAccessorMethod]
-               public Gdk.Surface surface { owned get; construct; }
+               public Gdk.Surface surface { get; construct; }
                public signal void cancel (Gdk.DragCancelReason reason);
                public signal void dnd_finished ();
                public signal void drop_performed ();
@@ -5025,11 +5033,9 @@ namespace Gdk {
                public unowned Gdk.Drag? get_drag ();
                public unowned Gdk.ContentFormats get_formats ();
                public unowned Gdk.Surface get_surface ();
-               public bool has_value (GLib.Type type);
                public async GLib.InputStream? read_async ([CCode (array_length = false, 
array_null_terminated = true)] string[] mime_types, int io_priority, GLib.Cancellable? cancellable, out 
string out_mime_type) throws GLib.Error;
-               public async string? read_text_async (GLib.Cancellable? cancellable) throws GLib.Error;
                public async unowned GLib.Value? read_value_async (GLib.Type type, int io_priority, 
GLib.Cancellable? cancellable) throws GLib.Error;
-               public void status (Gdk.DragAction actions);
+               public void status (Gdk.DragAction actions, Gdk.DragAction preferred);
                public Gdk.DragAction actions { get; construct; }
                public Gdk.Device device { get; construct; }
                public Gdk.Display display { get; }
@@ -5037,59 +5043,32 @@ namespace Gdk {
                public Gdk.ContentFormats formats { get; construct; }
                public Gdk.Surface surface { get; construct; }
        }
-       [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_event_get_type ()")]
-       public class Event : GLib.Object {
-               [CCode (has_construct_function = false)]
-               public Event (Gdk.EventType type);
-               public Gdk.Event copy ();
+       [CCode (cheader_filename = "gdk/gdk.h", ref_function = "gdk_event_ref", type_id = "gdk_event_get_type 
()", unref_function = "gdk_event_unref")]
+       [Compact]
+       public class Event {
+               [CCode (cname = "gdk_events_get_angle")]
+               public static bool get_angle (Gdk.Event event1, Gdk.Event event2, out double angle);
                public bool get_axes ([CCode (array_length_cname = "n_axes", array_length_pos = 1.1, 
array_length_type = "guint")] out unowned double[] axes);
                public bool get_axis (Gdk.AxisUse axis_use, out double value);
-               public bool get_button (out uint button);
-               public bool get_click_count (out uint click_count);
-               public bool get_coords (out double x_win, out double y_win);
-               public bool get_crossing_detail (out Gdk.NotifyType detail);
-               public bool get_crossing_mode (out Gdk.CrossingMode mode);
+               [CCode (cname = "gdk_events_get_center")]
+               public static bool get_center (Gdk.Event event1, Gdk.Event event2, out double x, out double 
y);
                public unowned Gdk.Device? get_device ();
                public unowned Gdk.DeviceTool get_device_tool ();
                public unowned Gdk.Display? get_display ();
-               public unowned Gdk.Drop? get_drop ();
+               [CCode (cname = "gdk_events_get_distance")]
+               public static bool get_distance (Gdk.Event event1, Gdk.Event event2, out double distance);
                public unowned Gdk.EventSequence get_event_sequence ();
                public Gdk.EventType get_event_type ();
-               public bool get_focus_in (out bool focus_in);
-               public bool get_grab_surface (out unowned Gdk.Surface surface);
-               public bool get_key_group (out uint group);
-               public bool get_key_is_modifier (out bool is_modifier);
-               public bool get_keycode (out uint16 keycode);
-               public bool get_keyval (out uint keyval);
+               public Gdk.ModifierType get_modifier_state ();
                public GLib.List<weak Gdk.TimeCoord?>? get_motion_history ();
-               public bool get_pad_axis_value (out uint index, out double value);
-               public bool get_pad_button (out uint button);
-               public bool get_pad_group_mode (out uint group, out uint mode);
                public bool get_pointer_emulated ();
-               public int get_scancode ();
-               public bool get_scroll_deltas (out double delta_x, out double delta_y);
-               public bool get_scroll_direction (out Gdk.ScrollDirection direction);
-               public unowned Gdk.Seat get_seat ();
+               public bool get_position (out double x, out double y);
                public unowned Gdk.Device? get_source_device ();
-               public bool get_state (out Gdk.ModifierType state);
                public unowned Gdk.Surface get_surface ();
                public uint32 get_time ();
-               public bool get_touch_emulating_pointer (out bool emulating);
-               public bool get_touchpad_angle_delta (out double delta);
-               public bool get_touchpad_deltas (out double dx, out double dy);
-               public bool get_touchpad_gesture_n_fingers (out uint n_fingers);
-               public bool get_touchpad_gesture_phase (out Gdk.TouchpadGesturePhase phase);
-               public bool get_touchpad_scale (out double scale);
-               public bool is_scroll_stop_event ();
-               public bool is_sent ();
-               public void set_coords (double x, double y);
-               public void set_device (Gdk.Device device);
-               public void set_device_tool (Gdk.DeviceTool? tool);
-               public void set_display (Gdk.Display display);
-               public void set_keyval (uint keyval);
-               public void set_source_device (Gdk.Device device);
+               public unowned Gdk.Event @ref ();
                public bool triggers_context_menu ();
-               public Gdk.EventType event_type { get; construct; }
+               public void unref ();
        }
        [CCode (cheader_filename = "gdk/gdk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gdk_event_sequence_get_type ()")]
        [Compact]
@@ -5099,6 +5078,12 @@ namespace Gdk {
        [Compact]
        public class FileList {
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class FocusEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected FocusEvent ();
+               public bool get_in ();
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_frame_clock_get_type ()")]
        public abstract class FrameClock : GLib.Object {
                [CCode (has_construct_function = false)]
@@ -5161,6 +5146,22 @@ namespace Gdk {
                public GLTexture (Gdk.GLContext context, uint id, int width, int height, GLib.DestroyNotify 
destroy, void* data);
                public void release ();
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class GrabBrokenEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected GrabBrokenEvent ();
+               public unowned Gdk.Surface get_grab_surface ();
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class KeyEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected KeyEvent ();
+               public uint get_group ();
+               public uint get_keycode ();
+               public uint get_keyval ();
+               public uint get_scancode ();
+               public bool is_modifier ();
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_keymap_get_type ()")]
        public class Keymap : GLib.Object {
                [CCode (has_construct_function = false)]
@@ -5220,6 +5221,52 @@ namespace Gdk {
                public Gdk.Rectangle workarea { get; }
                public signal void invalidate ();
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadAxisEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected PadAxisEvent ();
+               public void get_value (out uint index, out double value);
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadButtonEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected PadButtonEvent ();
+               public uint get_button ();
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected PadEvent ();
+               public void get_group_mode (out uint group, out uint mode);
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", ref_function = "gdk_popup_layout_ref", type_id = 
"gdk_popup_layout_get_type ()", unref_function = "gdk_popup_layout_unref")]
+       [Compact]
+       public class PopupLayout {
+               [CCode (has_construct_function = false)]
+               public PopupLayout (Gdk.Rectangle anchor_rect, Gdk.Gravity rect_anchor, Gdk.Gravity 
surface_anchor);
+               public Gdk.PopupLayout copy ();
+               public bool equal (Gdk.PopupLayout other);
+               public Gdk.AnchorHints get_anchor_hints ();
+               public unowned Gdk.Rectangle? get_anchor_rect ();
+               public void get_offset (int dx, int dy);
+               public Gdk.Gravity get_rect_anchor ();
+               public Gdk.Gravity get_surface_anchor ();
+               public unowned Gdk.PopupLayout @ref ();
+               public void set_anchor_hints (Gdk.AnchorHints anchor_hints);
+               public void set_anchor_rect (Gdk.Rectangle anchor_rect);
+               public void set_offset (int dx, int dy);
+               public void set_rect_anchor (Gdk.Gravity anchor);
+               public void set_surface_anchor (Gdk.Gravity anchor);
+               public void unref ();
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ScrollEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected ScrollEvent ();
+               public void get_deltas (out double delta_x, out double delta_y);
+               public Gdk.ScrollDirection get_direction ();
+               public bool is_stop ();
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_seat_get_type ()")]
        public abstract class Seat : GLib.Object {
                [CCode (has_construct_function = false)]
@@ -5262,6 +5309,7 @@ namespace Gdk {
                public void fullscreen ();
                public void fullscreen_on_monitor (Gdk.Monitor monitor);
                public bool get_accept_focus ();
+               public bool get_autohide ();
                public unowned Gdk.Cursor? get_cursor ();
                public bool get_decorations (out Gdk.WMDecoration decorations);
                public unowned Gdk.Cursor? get_device_cursor (Gdk.Device device);
@@ -5271,8 +5319,11 @@ namespace Gdk {
                public unowned Gdk.FrameClock get_frame_clock ();
                public Gdk.FullscreenMode get_fullscreen_mode ();
                public int get_height ();
+               public bool get_mapped ();
                public bool get_modal_hint ();
                public unowned Gdk.Surface? get_parent ();
+               public Gdk.Gravity get_popup_rect_anchor ();
+               public Gdk.Gravity get_popup_surface_anchor ();
                public void get_position (out int x, out int y);
                public int get_scale_factor ();
                public Gdk.SurfaceState get_state ();
@@ -5284,16 +5335,14 @@ namespace Gdk {
                public void input_shape_combine_region (Cairo.Region shape_region, int offset_x, int 
offset_y);
                public bool is_destroyed ();
                public bool is_viewable ();
-               public bool is_visible ();
                public void lower ();
                public void maximize ();
                public void minimize ();
-               public void move_to_rect (Gdk.Rectangle rect, Gdk.Gravity rect_anchor, Gdk.Gravity 
surface_anchor, Gdk.AnchorHints anchor_hints, int rect_anchor_dx, int rect_anchor_dy);
                [CCode (has_construct_function = false)]
-               public Surface.popup (Gdk.Display display, Gdk.Surface parent, bool autohide);
+               public Surface.popup (Gdk.Surface parent, bool autohide);
+               public bool present_popup (int width, int height, Gdk.PopupLayout layout);
                public void queue_expose ();
                public void raise ();
-               public void register_dnd ();
                public void resize (int width, int height);
                public void restack (Gdk.Surface? sibling, bool above);
                public void set_accept_focus (bool accept_focus);
@@ -5329,18 +5378,16 @@ namespace Gdk {
                public void unmaximize ();
                public void unminimize ();
                public void unstick ();
-               [NoAccessorMethod]
                public bool autohide { get; construct; }
                public Gdk.Cursor cursor { get; set; }
                public Gdk.Display display { get; construct; }
                public Gdk.FrameClock frame_clock { get; construct; }
-               [NoAccessorMethod]
                public bool mapped { get; }
                public Gdk.Surface parent { get; construct; }
                public Gdk.SurfaceState state { get; }
                public Gdk.SurfaceType surface_type { get; construct; }
                public signal bool event (Gdk.Event event);
-               public signal void moved_to_rect ([CCode (type = "gpointer")] Gdk.Rectangle flipped_rect, 
[CCode (type = "gpointer")] Gdk.Rectangle final_rect, bool flipped_x, bool flipped_y);
+               public signal void popup_layout_changed ();
                public signal bool render (Cairo.Region region);
                public signal void size_changed (int width, int height);
        }
@@ -5361,16 +5408,33 @@ namespace Gdk {
                public int height { get; construct; }
                public int width { get; construct; }
        }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected TouchEvent ();
+               public bool get_emulating_pointer ();
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchpadEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected TouchpadEvent ();
+               public void get_deltas (out double dx, out double dy);
+               public Gdk.TouchpadGesturePhase get_gesture_phase ();
+               public uint get_n_fingers ();
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchpadPinchEvent : Gdk.Event {
+               [CCode (has_construct_function = false)]
+               protected TouchpadPinchEvent ();
+               public double get_angle_delta ();
+               public double get_scale ();
+       }
        [CCode (cheader_filename = "gdk/gdk.h", type_id = "gdk_vulkan_context_get_type ()")]
        public abstract class VulkanContext : Gdk.DrawContext, GLib.Initable {
                [CCode (has_construct_function = false)]
                protected VulkanContext ();
                public signal void images_updated ();
        }
-       [CCode (cheader_filename = "gdk/gdk.h", ref_function = "", unref_function = "")]
-       [Compact]
-       public class XEvent {
-       }
        [CCode (cheader_filename = "gdk/gdk.h", type_cname = "GdkDevicePadInterface", type_id = 
"gdk_device_pad_get_type ()")]
        public interface DevicePad : Gdk.Device {
                public int get_feature_group (Gdk.DevicePadFeature feature, int feature_idx);
@@ -5573,9 +5637,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_", type_id = "gdk_event_type_get_type ()")]
        public enum EventType {
-               NOTHING,
                DELETE,
-               DESTROY,
                MOTION_NOTIFY,
                BUTTON_PRESS,
                BUTTON_RELEASE,
@@ -5651,12 +5713,6 @@ namespace Gdk {
                SOUTH_EAST,
                STATIC
        }
-       [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_MODE_", type_id = "gdk_input_mode_get_type 
()")]
-       public enum InputMode {
-               DISABLED,
-               SCREEN,
-               SURFACE
-       }
        [CCode (cheader_filename = "gdk/gdk.h", cprefix = "GDK_SOURCE_", type_id = "gdk_input_source_get_type 
()")]
        public enum InputSource {
                MOUSE,
@@ -5871,13 +5927,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
        public delegate void ContentDeserializeFunc (Gdk.ContentDeserializer deserializer);
        [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
-       public delegate GLib.Bytes ContentProviderGetBytesFunc (string mime_type, void* data);
-       [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
-       public delegate void ContentProviderGetValueFunc (GLib.Value value, void* data);
-       [CCode (cheader_filename = "gdk/gdk.h", has_target = false)]
        public delegate void ContentSerializeFunc (Gdk.ContentSerializer serializer);
-       [CCode (cheader_filename = "gdk/gdk.h", instance_pos = 2.9)]
-       public delegate void SeatGrabPrepareFunc (Gdk.Seat seat, Gdk.Surface surface);
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_ACTION_ALL")]
        public const int ACTION_ALL;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_BUTTON_MIDDLE")]
@@ -5894,45 +5944,11 @@ namespace Gdk {
        public const bool EVENT_STOP;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_MAX_TIMECOORD_AXES")]
        public const int MAX_TIMECOORD_AXES;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom NONE;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_PARENT_RELATIVE")]
        public const int PARENT_RELATIVE;
        [CCode (cheader_filename = "gdk/gdk.h", cname = "GDK_PRIORITY_REDRAW")]
        public const int PRIORITY_REDRAW;
        [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_CLIPBOARD;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_PRIMARY;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_SECONDARY;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_ATOM;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_BITMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_COLORMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_DRAWABLE;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_INTEGER;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_PIXMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_STRING;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_WINDOW;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_BITMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_COLORMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_DRAWABLE;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_PIXMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_STRING;
-       [CCode (cheader_filename = "gdk/gdk.h")]
        public static void cairo_draw_from_gl (Cairo.Context cr, Gdk.Surface surface, int source, int 
source_type, int buffer_scale, int x, int y, int width, int height);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void cairo_rectangle (Cairo.Context cr, Gdk.Rectangle rectangle);
@@ -5955,14 +5971,6 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static async bool content_serialize_async (GLib.OutputStream stream, string mime_type, 
GLib.Value value, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
        [CCode (cheader_filename = "gdk/gdk.h")]
-       public static bool events_get_angle (Gdk.Event event1, Gdk.Event event2, out double angle);
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public static bool events_get_center (Gdk.Event event1, Gdk.Event event2, out double x, out double y);
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public static bool events_get_distance (Gdk.Event event1, Gdk.Event event2, out double distance);
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public static bool get_show_events ();
-       [CCode (cheader_filename = "gdk/gdk.h")]
        public static unowned string intern_mime_type (string string);
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void keyval_convert_case (uint symbol, out uint lower, out uint upper);
@@ -5989,13 +5997,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public static void set_allowed_backends (string backends);
        [CCode (cheader_filename = "gdk/gdk.h")]
-       public static void set_show_events (bool show_events);
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public static int text_property_to_utf8_list_for_display (Gdk.Display display, Gdk.Atom encoding, int 
format, [CCode (array_length_cname = "length", array_length_pos = 4.5)] uint8[] text, [CCode (array_length = 
false, array_null_terminated = true)] out string[] list);
-       [CCode (cheader_filename = "gdk/gdk.h")]
        public static uint unicode_to_keyval (uint32 wc);
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public static string? utf8_to_string_target (string str);
 }
 [CCode (cprefix = "Gsk", gir_namespace = "Gsk", gir_version = "4.0", lower_case_cprefix = "gsk_")]
 namespace Gsk {
@@ -6368,8 +6370,8 @@ namespace Gtk {
                public unowned string[] get_documenters ();
                public unowned string get_license ();
                public Gtk.License get_license_type ();
-               public unowned Gdk.Paintable get_logo ();
-               public unowned string get_logo_icon_name ();
+               public unowned Gdk.Paintable? get_logo ();
+               public unowned string? get_logo_icon_name ();
                public unowned string get_program_name ();
                public unowned string get_system_information ();
                public unowned string get_translator_credits ();
@@ -7527,6 +7529,10 @@ namespace Gtk {
                public unowned GLib.List<Gtk.CellAccessible> get_children ();
                public void remove_child (Gtk.CellAccessible child);
        }
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_crossing_data_get_type ()")]
+       [Compact]
+       public class CrossingData {
+       }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_css_provider_get_type ()")]
        public class CssProvider : GLib.Object, Gtk.StyleProvider {
                [CCode (has_construct_function = false)]
@@ -7571,7 +7577,7 @@ namespace Gtk {
                public unowned Gtk.Widget add_button (string button_text, int response_id);
                public void add_buttons (...);
                public unowned Gtk.Box get_content_area ();
-               public unowned Gtk.Widget get_header_bar ();
+               public unowned Gtk.HeaderBar get_header_bar ();
                public int get_response_for_widget (Gtk.Widget widget);
                public unowned Gtk.Widget? get_widget_for_response (int response_id);
                public int run ();
@@ -7589,9 +7595,12 @@ namespace Gtk {
        public class DragIcon : Gtk.Container, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget, 
Gtk.Native, Gtk.Root {
                [CCode (has_construct_function = false)]
                protected DragIcon ();
-               [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public DragIcon.for_drag (Gdk.Drag drag);
+               public static Gtk.Widget? create_widget_for_value (GLib.Value value);
+               public unowned Gtk.Widget? get_child ();
+               public static unowned Gtk.Widget get_for_drag (Gdk.Drag drag);
+               public void set_child (Gtk.Widget? child);
                public static void set_from_paintable (Gdk.Drag drag, Gdk.Paintable paintable, int hot_x, int 
hot_y);
+               public Gtk.Widget child { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_drag_source_get_type ()")]
        public class DragSource : Gtk.GestureSingle {
@@ -7623,27 +7632,61 @@ namespace Gtk {
                public int content_height { get; set; }
                public int content_width { get; set; }
        }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_drop_controller_motion_get_type ()")]
+       public class DropControllerMotion : Gtk.EventController {
+               [CCode (has_construct_function = false, type = "GtkEventController*")]
+               public DropControllerMotion ();
+               public unowned Gdk.Drop? get_drop ();
+               [NoAccessorMethod]
+               public bool contains_pointer { get; }
+               public Gdk.Drop drop { get; }
+               [NoAccessorMethod]
+               public bool is_pointer { get; }
+               public signal void enter (double x, double y);
+               public signal void leave ();
+               public signal void motion (double x, double y);
+       }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_drop_target_get_type ()")]
        public class DropTarget : Gtk.EventController {
                [CCode (has_construct_function = false)]
-               public DropTarget (Gdk.ContentFormats? formats, Gdk.DragAction actions);
-               public void deny_drop (Gdk.Drop drop);
-               public unowned string? find_mimetype ();
+               public DropTarget (GLib.Type type, Gdk.DragAction actions);
                public Gdk.DragAction get_actions ();
                public unowned Gdk.Drop? get_drop ();
-               public Gdk.ContentFormats get_formats ();
-               public async Gtk.SelectionData? read_selection (Gdk.Atom target, GLib.Cancellable? 
cancellable) throws GLib.Error;
+               public Gdk.ContentFormats? get_formats ();
+               [CCode (array_length_pos = 0.1, array_length_type = "gsize")]
+               public unowned GLib.Type[]? get_gtypes ();
+               public bool get_preload ();
+               public unowned GLib.Value? get_value ();
+               public void reject ();
+               public void set_actions (Gdk.DragAction actions);
+               public void set_gtypes ([CCode (array_length_cname = "n_types", array_length_pos = 1.1, 
array_length_type = "gsize")] GLib.Type[]? types);
+               public void set_preload (bool preload);
+               public Gdk.DragAction actions { get; set; }
+               public Gdk.Drop drop { get; }
+               public Gdk.ContentFormats formats { owned get; }
+               public bool preload { get; set; }
+               public GLib.Value value { get; }
+               public signal bool accept (Gdk.Drop drop);
+               public signal Gdk.DragAction enter (double x, double y);
+               public signal void leave ();
+               public signal Gdk.DragAction motion (double x, double y);
+       }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_drop_target_async_get_type ()")]
+       public class DropTargetAsync : Gtk.EventController {
+               [CCode (has_construct_function = false)]
+               public DropTargetAsync (owned Gdk.ContentFormats? formats, Gdk.DragAction actions);
+               public Gdk.DragAction get_actions ();
+               public Gdk.ContentFormats? get_formats ();
+               public void reject_drop (Gdk.Drop drop);
                public void set_actions (Gdk.DragAction actions);
                public void set_formats (Gdk.ContentFormats? formats);
                public Gdk.DragAction actions { get; set; }
-               [NoAccessorMethod]
-               public bool contains { get; }
                public Gdk.ContentFormats formats { owned get; set; }
                public signal bool accept (Gdk.Drop object);
-               public signal bool drag_drop (Gdk.Drop drop, int x, int y);
-               public signal void drag_enter (Gdk.Drop drop);
+               public signal Gdk.DragAction drag_enter (Gdk.Drop drop, double x, double y);
                public signal void drag_leave (Gdk.Drop drop);
-               public signal void drag_motion (Gdk.Drop drop, int x, int y);
+               public signal Gdk.DragAction drag_motion (Gdk.Drop drop, double x, double y);
+               public signal bool drop (Gdk.Drop drop, double x, double y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_emoji_chooser_get_type ()")]
        public class EmojiChooser : Gtk.Popover, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget, 
Gtk.Native {
@@ -7869,7 +7912,6 @@ namespace Gtk {
                public Gtk.PropagationLimit get_propagation_limit ();
                public Gtk.PropagationPhase get_propagation_phase ();
                public unowned Gtk.Widget get_widget ();
-               public bool handle_event ([CCode (type = "const GdkEvent*")] Gdk.Event event);
                public void reset ();
                public void set_name (string name);
                public void set_propagation_limit (Gtk.PropagationLimit limit);
@@ -7879,22 +7921,25 @@ namespace Gtk {
                public Gtk.PropagationPhase propagation_phase { get; set; }
                public Gtk.Widget widget { get; }
        }
+       [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_event_controller_focus_get_type ()")]
+       public class EventControllerFocus : Gtk.EventController {
+               [CCode (has_construct_function = false, type = "GtkEventController*")]
+               public EventControllerFocus ();
+               [NoAccessorMethod]
+               public bool contains_focus { get; }
+               [NoAccessorMethod]
+               public bool is_focus { get; }
+               public signal void enter ();
+               public signal void leave ();
+       }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_event_controller_key_get_type ()")]
        public class EventControllerKey : Gtk.EventController {
                [CCode (has_construct_function = false, type = "GtkEventController*")]
                public EventControllerKey ();
                public bool forward (Gtk.Widget widget);
-               public unowned Gtk.Widget get_focus_origin ();
-               public unowned Gtk.Widget get_focus_target ();
                public uint get_group ();
                public unowned Gtk.IMContext get_im_context ();
                public void set_im_context (Gtk.IMContext im_context);
-               [NoAccessorMethod]
-               public bool contains_focus { get; }
-               [NoAccessorMethod]
-               public bool is_focus { get; }
-               public signal void focus_in (Gdk.CrossingMode mode, Gdk.NotifyType detail);
-               public signal void focus_out (Gdk.CrossingMode mode, Gdk.NotifyType detail);
                public signal void im_update ();
                public signal bool key_pressed (uint keyval, uint keycode, Gdk.ModifierType state);
                public signal void key_released (uint keyval, uint keycode, Gdk.ModifierType state);
@@ -7910,14 +7955,12 @@ namespace Gtk {
        public class EventControllerMotion : Gtk.EventController {
                [CCode (has_construct_function = false, type = "GtkEventController*")]
                public EventControllerMotion ();
-               public unowned Gtk.Widget get_pointer_origin ();
-               public unowned Gtk.Widget get_pointer_target ();
                [NoAccessorMethod]
                public bool contains_pointer { get; }
                [NoAccessorMethod]
                public bool is_pointer { get; }
-               public signal void enter (double x, double y, Gdk.CrossingMode crossing_mode, Gdk.NotifyType 
notify_type);
-               public signal void leave (Gdk.CrossingMode crossing_mode, Gdk.NotifyType notify_type);
+               public signal void enter (double x, double y, Gdk.CrossingMode mode);
+               public signal void leave (Gdk.CrossingMode mode);
                public signal void motion (double x, double y);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_event_controller_scroll_get_type ()")]
@@ -8034,6 +8077,8 @@ namespace Gtk {
                public void set_filter_name (string? name);
                [CCode (returns_floating_reference = true)]
                public GLib.Variant to_gvariant ();
+               [NoAccessorMethod]
+               public string name { owned get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", has_type_id = false)]
        [Compact]
@@ -8466,7 +8511,7 @@ namespace Gtk {
        public abstract class IMContext : GLib.Object {
                [CCode (has_construct_function = false)]
                protected IMContext ();
-               public virtual bool filter_keypress ([CCode (type = "GdkEventKey*")] Gdk.Event event);
+               public virtual bool filter_keypress ([CCode (type = "GdkEvent*")] Gdk.Event event);
                public virtual void focus_in ();
                public virtual void focus_out ();
                public virtual void get_preedit_string (out string str, out Pango.AttrList attrs, out int 
cursor_pos);
@@ -8520,19 +8565,32 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public IconTheme ();
                public void add_resource_path (string path);
-               public void append_search_path (string path);
+               public void add_search_path (string path);
                public static unowned Gtk.IconTheme get_for_display (Gdk.Display display);
                [CCode (array_length = false, array_null_terminated = true)]
+               public string[] get_icon_names ();
+               [CCode (array_length = false, array_null_terminated = true)]
                public int[] get_icon_sizes (string icon_name);
-               public void get_search_path ([CCode (array_length_cname = "n_elements", array_length_pos = 
1.1)] out string[] path);
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[]? get_resource_path ();
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[]? get_search_path ();
+               public string get_theme_name ();
                public bool has_icon (string icon_name);
-               public GLib.List<string> list_icons ();
                public Gtk.IconPaintable lookup_by_gicon (GLib.Icon icon, int size, int scale, 
Gtk.TextDirection direction, Gtk.IconLookupFlags flags);
                public Gtk.IconPaintable lookup_icon (string icon_name, [CCode (array_length = false, 
array_null_terminated = true)] string[]? fallbacks, int size, int scale, Gtk.TextDirection direction, 
Gtk.IconLookupFlags flags);
-               public void prepend_search_path (string path);
-               public void set_custom_theme (string? theme_name);
-               public void set_display (Gdk.Display display);
-               public void set_search_path ([CCode (array_length_cname = "n_elements", array_length_pos = 
1.1)] string[] path);
+               public void set_resource_path (string path);
+               public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] 
string[]? path);
+               public void set_theme_name (string? theme_name);
+               [NoAccessorMethod]
+               public Gdk.Display display { owned get; set; }
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] icon_names { owned get; }
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] resource_path { owned get; set; }
+               [CCode (array_length = false, array_null_terminated = true)]
+               public string[] search_path { owned get; set; }
+               public string theme_name { owned get; set; }
                public signal void changed ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_icon_view_get_type ()")]
@@ -8540,7 +8598,7 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public IconView ();
                public Gdk.Paintable create_drag_icon (Gtk.TreePath path);
-               public unowned Gtk.DropTarget enable_model_drag_dest (Gdk.ContentFormats formats, 
Gdk.DragAction actions);
+               public void enable_model_drag_dest (Gdk.ContentFormats formats, Gdk.DragAction actions);
                public void enable_model_drag_source (Gdk.ModifierType start_button_mask, Gdk.ContentFormats 
formats, Gdk.DragAction actions);
                public bool get_activate_on_single_click ();
                public bool get_cell_rect (Gtk.TreePath path, Gtk.CellRenderer? cell, out Gdk.Rectangle rect);
@@ -9503,12 +9561,11 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_popover_get_type ()")]
        public class Popover : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public Popover (Gtk.Widget relative_to);
+               public Popover ();
                public bool get_autohide ();
                public bool get_has_arrow ();
                public bool get_pointing_to (out Gdk.Rectangle rect);
                public Gtk.PositionType get_position ();
-               public unowned Gtk.Widget get_relative_to ();
                public void popdown ();
                public void popup ();
                public void set_autohide (bool autohide);
@@ -9516,7 +9573,6 @@ namespace Gtk {
                public void set_has_arrow (bool has_arrow);
                public void set_pointing_to (Gdk.Rectangle rect);
                public void set_position (Gtk.PositionType position);
-               public void set_relative_to (Gtk.Widget? relative_to);
                public bool autohide { get; set; }
                [NoAccessorMethod]
                public Gtk.Widget default_widget { owned get; set; }
@@ -9524,7 +9580,6 @@ namespace Gtk {
                [NoAccessorMethod]
                public Gdk.Rectangle pointing_to { owned get; set; }
                public Gtk.PositionType position { get; set; }
-               public Gtk.Widget relative_to { get; set; }
                public virtual signal void activate_default ();
                public virtual signal void closed ();
        }
@@ -9538,9 +9593,9 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected PopoverMenu ();
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public PopoverMenu.from_model (Gtk.Widget? relative_to, GLib.MenuModel? model);
+               public PopoverMenu.from_model (GLib.MenuModel? model);
                [CCode (has_construct_function = false, type = "GtkWidget*")]
-               public PopoverMenu.from_model_full (Gtk.Widget? relative_to, GLib.MenuModel model, 
Gtk.PopoverMenuFlags flags);
+               public PopoverMenu.from_model_full (GLib.MenuModel model, Gtk.PopoverMenuFlags flags);
                public unowned GLib.MenuModel get_menu_model ();
                public void set_menu_model (GLib.MenuModel model);
                public GLib.MenuModel menu_model { get; set; }
@@ -10059,36 +10114,6 @@ namespace Gtk {
                public signal void search_started ();
                public signal void stop_search ();
        }
-       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_selection_data_get_type ()")]
-       [Compact]
-       public class SelectionData {
-               public Gtk.SelectionData copy ();
-               [DestroysInstance]
-               public void free ();
-               [CCode (array_length = false)]
-               public unowned uint8[] get_data ();
-               public unowned Gdk.Atom get_data_type ();
-               [CCode (array_length_pos = 0.1)]
-               public unowned uint8[] get_data_with_length ();
-               public unowned Gdk.Display get_display ();
-               public int get_format ();
-               public int get_length ();
-               public Gdk.Pixbuf? get_pixbuf ();
-               public unowned Gdk.Atom get_target ();
-               public bool get_targets ([CCode (array_length_cname = "n_atoms", array_length_pos = 1.1)] out 
(unowned Gdk.Atom)[] targets);
-               public string? get_text ();
-               public Gdk.Texture? get_texture ();
-               [CCode (array_length = false, array_null_terminated = true)]
-               public string[] get_uris ();
-               public void @set (Gdk.Atom type, int format, [CCode (array_length_cname = "length", 
array_length_pos = 3.1)] uint8[] data);
-               public bool set_pixbuf (Gdk.Pixbuf pixbuf);
-               public bool set_text (string str, int len);
-               public bool set_texture (Gdk.Texture texture);
-               public bool set_uris ([CCode (array_length = false, array_null_terminated = true)] string[] 
uris);
-               public bool targets_include_image (bool writable);
-               public bool targets_include_text ();
-               public bool targets_include_uri ();
-       }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_separator_get_type ()")]
        public class Separator : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget, 
Gtk.Orientable {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
@@ -10439,10 +10464,11 @@ namespace Gtk {
        public class Spinner : Gtk.Widget, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Spinner ();
+               public bool get_spinning ();
+               public void set_spinning (bool spinning);
                public void start ();
                public void stop ();
-               [NoAccessorMethod]
-               public bool active { get; set; }
+               public bool spinning { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h,gtk/gtk-a11y.h", type_id = "gtk_spinner_accessible_get_type 
()")]
        public class SpinnerAccessible : Gtk.WidgetAccessible, Atk.Component, Atk.Image {
@@ -10497,6 +10523,8 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                protected StackPage ();
                public unowned Gtk.Widget get_child ();
+               public bool get_visible ();
+               public void set_visible (bool visible);
                public Gtk.Widget child { get; construct; }
                [NoAccessorMethod]
                public string icon_name { owned get; set; }
@@ -10506,7 +10534,6 @@ namespace Gtk {
                public bool needs_attention { get; set; }
                [NoAccessorMethod]
                public string title { owned get; set; }
-               [NoAccessorMethod]
                public bool visible { get; set; }
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_stack_sidebar_get_type ()")]
@@ -10530,7 +10557,6 @@ namespace Gtk {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Statusbar ();
                public uint get_context_id (string context_description);
-               public unowned Gtk.Box get_message_area ();
                public void pop (uint context_id);
                public uint push (uint context_id, string text);
                public void remove (uint context_id, uint message_id);
@@ -11030,7 +11056,7 @@ namespace Gtk {
                public int get_top_margin ();
                public void get_visible_rect (out Gdk.Rectangle visible_rect);
                public Gtk.WrapMode get_wrap_mode ();
-               public bool im_context_filter_keypress ([CCode (type = "GdkEventKey*")] Gdk.Event event);
+               public bool im_context_filter_keypress ([CCode (type = "GdkEvent*")] Gdk.Event event);
                public bool move_mark_onscreen (Gtk.TextMark mark);
                public void move_overlay (Gtk.Widget child, int xpos, int ypos);
                public bool move_visually (ref Gtk.TextIter iter, int count);
@@ -11250,6 +11276,10 @@ namespace Gtk {
                public string to_string ();
                public bool up ();
        }
+       [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_tree_row_data_get_type ()")]
+       [Compact]
+       public class TreeRowData {
+       }
        [CCode (cheader_filename = "gtk/gtk.h", copy_function = "g_boxed_copy", free_function = 
"g_boxed_free", type_id = "gtk_tree_row_reference_get_type ()")]
        [Compact]
        public class TreeRowReference {
@@ -11342,7 +11372,7 @@ namespace Gtk {
                public void convert_widget_to_bin_window_coords (int wx, int wy, out int bx, out int by);
                public void convert_widget_to_tree_coords (int wx, int wy, out int tx, out int ty);
                public Gdk.Paintable create_row_drag_icon (Gtk.TreePath path);
-               public unowned Gtk.DropTarget enable_model_drag_dest (Gdk.ContentFormats formats, 
Gdk.DragAction actions);
+               public void enable_model_drag_dest (Gdk.ContentFormats formats, Gdk.DragAction actions);
                public void enable_model_drag_source (Gdk.ModifierType start_button_mask, Gdk.ContentFormats 
formats, Gdk.DragAction actions);
                public void expand_all ();
                public bool expand_row (Gtk.TreePath path, bool open_all);
@@ -11612,7 +11642,6 @@ namespace Gtk {
                public void destroyed (ref unowned Gtk.Widget widget_pointer);
                public bool device_is_shadowed (Gdk.Device device);
                public void error_bell ();
-               public bool event ([CCode (type = "GdkEvent*")] Gdk.Event event);
                [NoWrapper]
                public virtual bool focus (Gtk.DirectionType direction);
                public virtual unowned Atk.Object get_accessible ();
@@ -11688,7 +11717,6 @@ namespace Gtk {
                public bool has_visible_focus ();
                public bool in_destruction ();
                public void init_template ();
-               public void input_shape_combine_region (Cairo.Region? region);
                public void insert_action_group (string name, GLib.ActionGroup? group);
                public void insert_after (Gtk.Widget parent, Gtk.Widget? previous_sibling);
                public void insert_before (Gtk.Widget parent, Gtk.Widget? next_sibling);
@@ -11783,8 +11811,6 @@ namespace Gtk {
                public string[] css_classes { owned get; set; }
                public string css_name { get; construct; }
                public Gdk.Cursor cursor { get; set; }
-               [NoAccessorMethod]
-               public bool expand { get; set; }
                public bool focus_on_click { get; set; }
                public Gtk.Align halign { get; set; }
                [NoAccessorMethod]
@@ -11799,8 +11825,6 @@ namespace Gtk {
                [NoAccessorMethod]
                public bool is_focus { get; set; }
                public Gtk.LayoutManager layout_manager { get; owned set; }
-               [NoAccessorMethod]
-               public int margin { get; set; }
                public int margin_bottom { get; set; }
                public int margin_end { get; set; }
                public int margin_start { get; set; }
@@ -11869,7 +11893,7 @@ namespace Gtk {
        public class Window : Gtk.Bin, Atk.Implementor, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, 
Gtk.Root {
                [CCode (has_construct_function = false, type = "GtkWidget*")]
                public Window ();
-               public bool activate_key ([CCode (type = "GdkEventKey*")] Gdk.Event event);
+               public bool activate_key ([CCode (type = "GdkEvent*")] Gdk.Event event);
                public void add_accel_group (Gtk.AccelGroup accel_group);
                public void add_mnemonic (uint keyval, Gtk.Widget target);
                public void begin_move_drag (int button, int x, int y, uint32 timestamp);
@@ -11909,7 +11933,7 @@ namespace Gtk {
                public bool mnemonic_activate (uint keyval, Gdk.ModifierType modifier);
                public void present ();
                public void present_with_time (uint32 timestamp);
-               public bool propagate_key_event ([CCode (type = "GdkEventKey*")] Gdk.Event event);
+               public bool propagate_key_event ([CCode (type = "GdkEvent*")] Gdk.Event event);
                public void remove_accel_group (Gtk.AccelGroup accel_group);
                public void remove_mnemonic (uint keyval, Gtk.Widget target);
                public void resize (int width, int height);
@@ -11995,8 +12019,6 @@ namespace Gtk {
                [CCode (has_construct_function = false)]
                public WindowGroup ();
                public void add_window (Gtk.Window window);
-               public unowned Gtk.Widget? get_current_device_grab (Gdk.Device device);
-               public unowned Gtk.Widget get_current_grab ();
                public GLib.List<weak Gtk.Window> list_windows ();
                public void remove_window (Gtk.Window window);
        }
@@ -12149,94 +12171,44 @@ namespace Gtk {
        public interface FileChooser : GLib.Object {
                public void add_choice (string id, string label, [CCode (array_length = false, 
array_null_terminated = true)] string[]? options, [CCode (array_length = false, array_null_terminated = 
true)] string[]? option_labels);
                public void add_filter (owned Gtk.FileFilter filter);
-               public bool add_shortcut_folder (string folder) throws GLib.Error;
-               public bool add_shortcut_folder_uri (string uri) throws GLib.Error;
+               public bool add_shortcut_folder (GLib.File folder) throws GLib.Error;
                public Gtk.FileChooserAction get_action ();
                public unowned string get_choice (string id);
                public bool get_create_folders ();
-               public string? get_current_folder ();
-               public GLib.File get_current_folder_file ();
-               public string? get_current_folder_uri ();
+               public GLib.File get_current_folder ();
                public string get_current_name ();
-               public bool get_do_overwrite_confirmation ();
-               public unowned Gtk.Widget? get_extra_widget ();
                public GLib.File get_file ();
-               public string? get_filename ();
-               public GLib.SList<string> get_filenames ();
                public GLib.SList<GLib.File> get_files ();
                public unowned Gtk.FileFilter? get_filter ();
-               public bool get_local_only ();
-               public GLib.File? get_preview_file ();
-               public string? get_preview_filename ();
-               public string? get_preview_uri ();
-               public unowned Gtk.Widget? get_preview_widget ();
-               public bool get_preview_widget_active ();
                public bool get_select_multiple ();
-               public bool get_show_hidden ();
-               public string? get_uri ();
-               public GLib.SList<string> get_uris ();
-               public bool get_use_preview_label ();
                public GLib.SList<weak Gtk.FileFilter> list_filters ();
-               public GLib.SList<string>? list_shortcut_folder_uris ();
-               public GLib.SList<string>? list_shortcut_folders ();
+               public GLib.SList<GLib.File>? list_shortcut_folders ();
                public void remove_choice (string id);
                public void remove_filter (Gtk.FileFilter filter);
-               public bool remove_shortcut_folder (string folder) throws GLib.Error;
-               public bool remove_shortcut_folder_uri (string uri) throws GLib.Error;
+               public bool remove_shortcut_folder (GLib.File folder) throws GLib.Error;
                public void select_all ();
                public bool select_file (GLib.File file) throws GLib.Error;
-               public bool select_filename (string filename);
-               public bool select_uri (string uri);
                public void set_action (Gtk.FileChooserAction action);
                public void set_choice (string id, string option);
                public void set_create_folders (bool create_folders);
-               public bool set_current_folder (string filename);
-               public bool set_current_folder_file (GLib.File file) throws GLib.Error;
-               public bool set_current_folder_uri (string uri);
+               public bool set_current_folder (GLib.File file) throws GLib.Error;
                public void set_current_name (string name);
-               public void set_do_overwrite_confirmation (bool do_overwrite_confirmation);
-               public void set_extra_widget (Gtk.Widget extra_widget);
                public bool set_file (GLib.File file) throws GLib.Error;
-               public bool set_filename (string filename);
                public void set_filter (Gtk.FileFilter filter);
-               public void set_local_only (bool local_only);
-               public void set_preview_widget (Gtk.Widget preview_widget);
-               public void set_preview_widget_active (bool active);
                public void set_select_multiple (bool select_multiple);
-               public void set_show_hidden (bool show_hidden);
-               public bool set_uri (string uri);
-               public void set_use_preview_label (bool use_label);
                public void unselect_all ();
                public void unselect_file (GLib.File file);
-               public void unselect_filename (string filename);
-               public void unselect_uri (string uri);
                [ConcreteAccessor]
                public abstract Gtk.FileChooserAction action { get; set; }
                [ConcreteAccessor]
                public abstract bool create_folders { get; set; }
                [ConcreteAccessor]
-               public abstract bool do_overwrite_confirmation { get; set; }
-               [ConcreteAccessor]
-               public abstract Gtk.Widget extra_widget { get; set; }
-               [ConcreteAccessor]
                public abstract Gtk.FileFilter filter { get; set; }
                [ConcreteAccessor]
-               public abstract bool local_only { get; set; }
-               [ConcreteAccessor]
-               public abstract Gtk.Widget preview_widget { get; set; }
-               [ConcreteAccessor]
-               public abstract bool preview_widget_active { get; set; }
-               [ConcreteAccessor]
                public abstract bool select_multiple { get; set; }
-               [ConcreteAccessor]
-               public abstract bool show_hidden { get; set; }
-               [ConcreteAccessor]
-               public abstract bool use_preview_label { get; set; }
-               public signal Gtk.FileChooserConfirmation confirm_overwrite ();
                public signal void current_folder_changed ();
                public signal void file_activated ();
                public signal void selection_changed ();
-               public signal void update_preview ();
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_font_chooser_get_type ()")]
        public interface FontChooser : GLib.Object {
@@ -12346,13 +12318,13 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_drag_dest_get_type ()")]
        public interface TreeDragDest : GLib.Object {
-               public abstract bool drag_data_received (Gtk.TreePath dest, Gtk.SelectionData selection_data);
-               public abstract bool row_drop_possible (Gtk.TreePath dest_path, Gtk.SelectionData 
selection_data);
+               public abstract bool drag_data_received (Gtk.TreePath dest, GLib.Value value);
+               public abstract bool row_drop_possible (Gtk.TreePath dest_path, GLib.Value value);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_drag_source_get_type ()")]
        public interface TreeDragSource : GLib.Object {
                public abstract bool drag_data_delete (Gtk.TreePath path);
-               public abstract bool drag_data_get (Gtk.TreePath path, Gtk.SelectionData selection_data);
+               public abstract Gdk.ContentProvider? drag_data_get (Gtk.TreePath path);
                public abstract bool row_draggable (Gtk.TreePath path);
        }
        [CCode (cheader_filename = "gtk/gtk.h", type_id = "gtk_tree_model_get_type ()")]
@@ -12820,14 +12792,7 @@ namespace Gtk {
        public enum FileChooserAction {
                OPEN,
                SAVE,
-               SELECT_FOLDER,
-               CREATE_FOLDER
-       }
-       [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_CHOOSER_CONFIRMATION_", type_id = 
"gtk_file_chooser_confirmation_get_type ()")]
-       public enum FileChooserConfirmation {
-               CONFIRM,
-               ACCEPT_FILENAME,
-               SELECT_AGAIN
+               SELECT_FOLDER
        }
        [CCode (cheader_filename = "gtk/gtk.h", cprefix = "GTK_FILE_FILTER_", type_id = 
"gtk_file_filter_flags_get_type ()")]
        [Flags]
@@ -13886,14 +13851,10 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool bindings_activate (GLib.Object object, uint keyval, Gdk.ModifierType modifiers);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool bindings_activate_event (GLib.Object object, [CCode (type = "GdkEventKey*")] 
Gdk.Event event);
+       public static bool bindings_activate_event (GLib.Object object, [CCode (type = "GdkEvent*")] 
Gdk.Event event);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static unowned string? check_version (uint required_major, uint required_minor, uint 
required_micro);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void device_grab_add (Gtk.Widget widget, Gdk.Device device, bool block_others);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void device_grab_remove (Gtk.Widget widget, Gdk.Device device);
-       [CCode (cheader_filename = "gtk/gtk.h")]
        public static void disable_setlocale ();
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static int distribute_natural_allocation (int extra_space, uint n_requested_sizes, 
Gtk.RequestedSize sizes);
@@ -13914,12 +13875,6 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static unowned Pango.Language get_default_language ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget? get_event_target ([CCode (type = "const GdkEvent*")] Gdk.Event 
event);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget? get_event_target_with_type ([CCode (type = "GdkEvent*")] Gdk.Event 
event, GLib.Type type);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget? get_event_widget ([CCode (type = "const GdkEvent*")] Gdk.Event 
event);
-       [CCode (cheader_filename = "gtk/gtk.h")]
        public static uint get_interface_age ();
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static Gtk.TextDirection get_locale_direction ();
@@ -13930,12 +13885,6 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static uint get_minor_version ();
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void grab_add (Gtk.Widget widget);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static unowned Gtk.Widget? grab_get_current ();
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static void grab_remove (Gtk.Widget widget);
-       [CCode (cheader_filename = "gtk/gtk.h")]
        public static void hsv_to_rgb (float h, float s, float v, out float r, out float g, out float b);
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void im_modules_init ();
@@ -13960,12 +13909,6 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static bool show_uri_on_window (Gtk.Window? parent, string uri, uint32 timestamp) throws 
GLib.Error;
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_image ([CCode (array_length_cname = "n_targets", array_length_pos 
= 1.5)] Gdk.Atom[] targets, bool writable);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_text ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] Gdk.Atom[] targets);
-       [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool targets_include_uri ([CCode (array_length_cname = "n_targets", array_length_pos = 
1.1)] Gdk.Atom[] targets);
-       [CCode (cheader_filename = "gtk/gtk.h")]
        public static void test_init ([CCode (array_length_cname = "argcp", array_length_pos = 0.5)] ref 
unowned string[] argvp, ...);
        [CCode (array_length = true, array_length_pos = 0.1, array_length_type = "guint", 
array_null_terminated = true, cheader_filename = "gtk/gtk.h")]
        public static unowned GLib.Type[] test_list_all_types ();
@@ -13974,7 +13917,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public static void test_widget_wait_for_draw (Gtk.Widget widget);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool tree_get_row_drag_data (Gtk.SelectionData selection_data, out unowned 
Gtk.TreeModel? tree_model, out Gtk.TreePath? path);
+       public static Gdk.ContentProvider tree_create_row_drag_content (Gtk.TreeModel tree_model, 
Gtk.TreePath path);
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public static bool tree_set_row_drag_data (Gtk.SelectionData selection_data, Gtk.TreeModel 
tree_model, Gtk.TreePath path);
+       public static bool tree_get_row_drag_data (GLib.Value value, out unowned Gtk.TreeModel? tree_model, 
out Gtk.TreePath? path);
 }
diff --git a/vapi/metadata/Gdk-4.0-custom.vala b/vapi/metadata/Gdk-4.0-custom.vala
index 55447d053..b5c7967b7 100644
--- a/vapi/metadata/Gdk-4.0-custom.vala
+++ b/vapi/metadata/Gdk-4.0-custom.vala
@@ -3,43 +3,43 @@ namespace Gdk {
        public struct Rectangle : Cairo.RectangleInt {
        }
 
-       [CCode (ref_function = "", unref_function = "")]
-       [Compact]
-       public class XEvent {
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ButtonEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ConfigureEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class CrossingEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class FocusEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class GrabBrokenEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class KeyEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadAxisEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadButtonEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class PadEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class ScrollEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchpadEvent : Gdk.Event {
+       }
+       [CCode (cheader_filename = "gdk/gdk.h", cname = "GdkEvent", ref_function = "gdk_event_ref", type_id = 
"gdk_event_get_type ()", unref_function = "gdk_event_unref")]
+       public class TouchpadPinchEvent : Gdk.Event {
        }
-
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom NONE;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_CLIPBOARD;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_PRIMARY;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_SECONDARY;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_BITMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_COLORMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_DRAWABLE;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_PIXMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom TARGET_STRING;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_ATOM;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_BITMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_COLORMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_DRAWABLE;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_INTEGER;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_PIXMAP;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_WINDOW;
-       [CCode (cheader_filename = "gdk/gdk.h")]
-       public const Gdk.Atom SELECTION_TYPE_STRING;
 }
diff --git a/vapi/metadata/Gdk-4.0.metadata b/vapi/metadata/Gdk-4.0.metadata
index b810a54ff..c03be5e33 100644
--- a/vapi/metadata/Gdk-4.0.metadata
+++ b/vapi/metadata/Gdk-4.0.metadata
@@ -3,6 +3,22 @@ KEY_* name="KEY_(.+)" type="uint" parent="Gdk.Key"
 *.ref unowned
 *.unref destroys_instance=false
 
+// Event API
+button_event_* parent="Gdk.ButtonEvent" symbol_type="method" instance_idx=0 name="button_event_(.+)"
+configure_event_* parent="Gdk.ConfigureEvent" symbol_type="method" instance_idx=0 name="configure_event_(.+)"
+crossing_event_* parent="Gdk.CrossingEvent" symbol_type="method" instance_idx=0 name="crossing_event_(.+)"
+focus_event_* parent="Gdk.FocusEvent" symbol_type="method" instance_idx=0 name="focus_event_(.+)"
+grab_broken_event_* parent="Gdk.GrabBrokenEvent" symbol_type="method" instance_idx=0 
name="grab_broken_event_(.+)"
+key_event_* parent="Gdk.KeyEvent" symbol_type="method" instance_idx=0 name="key_event_(.+)"
+pad_axis_event_* parent="Gdk.PadAxisEvent" symbol_type="method" instance_idx=0 name="pad_axis_event_(.+)"
+pad_button_event_* parent="Gdk.PadButtonEvent" symbol_type="method" instance_idx=0 
name="pad_button_event_(.+)"
+pad_event_* parent="Gdk.PadEvent" symbol_type="method" instance_idx=0 name="pad_event_(.+)"
+scroll_event_* parent="Gdk.ScrollEvent" symbol_type="method" instance_idx=0 name="scroll_event_(.+)"
+touch_event_* parent="Gdk.TouchEvent" symbol_type="method" instance_idx=0 name="touch_event_(.+)"
+touchpad_event_* parent="Gdk.TouchpadEvent" symbol_type="method" instance_idx=0 name="touchpad_event_(.+)"
+touchpad_pinch_event_* parent="Gdk.TouchpadPinchEvent" symbol_type="method" instance_idx=0 
name="touchpad_pinch_event_(.+)"
+events_*#function parent="Gdk.Event" name="events_(.+)"
+
 Cursor abstract=false
 Device
         .free_history skip=false
@@ -18,7 +34,6 @@ Event
 Paintable
         .new_empty name="empty"
 Surface abstract=false
-        .moved_to_rect.*_rect type="Gdk.Rectangle"
 Rectangle struct
         .x skip
         .y skip
@@ -43,22 +58,3 @@ Device
 Rectangle.union return_void
 
 DrawingContext skip
-
-EventAny skip
-EventButton skip
-EventConfigure skip
-EventCrossing skip
-EventDND skip
-EventFocus skip
-EventGrabBroken skip
-EventKey skip
-EventMotion skip
-EventPadAxis skip
-EventPadButton skip
-EventPadGroupMode skip
-EventProximity skip
-EventScroll skip
-EventSetting skip
-EventTouch skip
-EventTouchpadPinch skip
-EventTouchpadSwipe skip
diff --git a/vapi/metadata/Gtk-4.0.metadata b/vapi/metadata/Gtk-4.0.metadata
index 30c84bc8e..1074a4471 100644
--- a/vapi/metadata/Gtk-4.0.metadata
+++ b/vapi/metadata/Gtk-4.0.metadata
@@ -257,9 +257,6 @@ ListStore
   .remove.iter ref
 PaperSize
   .free destroys_instance
-SelectionData
-  .free destroys_instance
-  .get_data skip=false
 Snapshot
   .free_to_node destroys_instance
   .free_to_paintable destroys_instance
@@ -302,8 +299,6 @@ TreeView
 Widget
   .drag_*#method parent="Gtk" symbol_type="function"
   .get_allocation return_void
-  .grab_add parent="Gtk" symbol_type="function"
-  .grab_remove parent="Gtk" symbol_type="function"
   .size_allocate#method name="size_allocate_emit"
 TreeModel
   .get_value return_void


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