/* gtk4-wayland.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gdk", gir_namespace = "GdkWayland", gir_version = "4.0", lower_case_cprefix = "gdk_")]
namespace Gdk {
	namespace Wayland {
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_device_get_type ()")]
		[GIR (name = "WaylandDevice")]
		public class Device : Gdk.Device {
			[CCode (has_construct_function = false)]
			protected Device ();
			public unowned string? get_node_path ();
			public unowned Wl.Keyboard get_wl_keyboard ();
			public unowned Wl.Pointer get_wl_pointer ();
			public unowned Wl.Seat get_wl_seat ();
			[Version (since = "4.4")]
			public void* get_xkb_keymap ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_display_get_type ()")]
		[GIR (name = "WaylandDisplay")]
		public class Display : Gdk.Display {
			[CCode (has_construct_function = false)]
			protected Display ();
			[Version (since = "4.4")]
			public void* get_egl_display ();
			[Version (deprecated = true, deprecated_since = "4.10.")]
			public unowned string? get_startup_notification_id ();
			public unowned Wl.Compositor get_wl_compositor ();
			public unowned Wl.Display get_wl_display ();
			public bool query_registry (string global);
			public void set_cursor_theme (string name, int size);
			[Version (deprecated = true, deprecated_since = "4.10.")]
			public void set_startup_notification_id (string startup_id);
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_gl_context_get_type ()")]
		[GIR (name = "WaylandGLContext")]
		public class GLContext : Gdk.GLContext {
			[CCode (has_construct_function = false)]
			protected GLContext ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_monitor_get_type ()")]
		[GIR (name = "WaylandMonitor")]
		public class Monitor : Gdk.Monitor {
			[CCode (has_construct_function = false)]
			protected Monitor ();
			public unowned Wl.Output get_wl_output ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_popup_get_type ()")]
		[GIR (name = "WaylandPopup")]
		public class Popup : Gdk.Wayland.Surface, Gdk.Popup {
			[CCode (has_construct_function = false)]
			protected Popup ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_seat_get_type ()")]
		[GIR (name = "WaylandSeat")]
		public class Seat : Gdk.Seat {
			[CCode (has_construct_function = false)]
			protected Seat ();
			public unowned Wl.Seat get_wl_seat ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_surface_get_type ()")]
		[GIR (name = "WaylandSurface")]
		public class Surface : Gdk.Surface {
			[CCode (has_construct_function = false)]
			protected Surface ();
			public unowned Wl.Surface get_wl_surface ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", type_id = "gdk_wayland_toplevel_get_type ()")]
		[GIR (name = "WaylandToplevel")]
		public class Toplevel : Gdk.Wayland.Surface, Gdk.Toplevel {
			[CCode (has_construct_function = false)]
			protected Toplevel ();
			public bool export_handle (owned Gdk.Wayland.ToplevelExported callback);
			public void set_application_id (string application_id);
			public bool set_transient_for_exported (string parent_handle_str);
			public void unexport_handle ();
		}
		[CCode (cheader_filename = "gdk/wayland/gdkwayland.h", instance_pos = 2.9)]
		public delegate void ToplevelExported (Gdk.Wayland.Toplevel toplevel, string handle);
	}
}
