/* Generated by wayland-scanner 1.25.0 */

#ifndef MUTTER_X11_INTEROP_SERVER_PROTOCOL_H
#define MUTTER_X11_INTEROP_SERVER_PROTOCOL_H

#include <stdint.h>
#include <stddef.h>
#include "wayland-server-core.h"

#ifdef  __cplusplus
extern "C" {
#endif

struct wl_client;
struct wl_resource;

/**
 * @page page_mutter_x11_interop The mutter_x11_interop protocol
 * X11 interoperability helper
 *
 * @section page_desc_mutter_x11_interop Description
 *
 * This protocol is intended to be used by the portal backend to map Wayland
 * dialogs as modal dialogs on top of X11 windows.
 *
 * @section page_ifaces_mutter_x11_interop Interfaces
 * - @subpage page_iface_mutter_x11_interop - X11 interoperability helper
 */
struct mutter_x11_interop;
struct wl_surface;

#ifndef MUTTER_X11_INTEROP_INTERFACE
#define MUTTER_X11_INTEROP_INTERFACE
/**
 * @page page_iface_mutter_x11_interop mutter_x11_interop
 * @section page_iface_mutter_x11_interop_desc Description
 * @section page_iface_mutter_x11_interop_api API
 * See @ref iface_mutter_x11_interop.
 */
/**
 * @defgroup iface_mutter_x11_interop The mutter_x11_interop interface
 */
extern const struct wl_interface mutter_x11_interop_interface;
#endif

/**
 * @ingroup iface_mutter_x11_interop
 * @struct mutter_x11_interop_interface
 */
struct mutter_x11_interop_interface {
	/**
	 */
	void (*destroy)(struct wl_client *client,
			struct wl_resource *resource);
	/**
	 */
	void (*set_x11_parent)(struct wl_client *client,
			       struct wl_resource *resource,
			       struct wl_resource *surface,
			       uint32_t xwindow);
};


/**
 * @ingroup iface_mutter_x11_interop
 */
#define MUTTER_X11_INTEROP_DESTROY_SINCE_VERSION 1
/**
 * @ingroup iface_mutter_x11_interop
 */
#define MUTTER_X11_INTEROP_SET_X11_PARENT_SINCE_VERSION 1

#ifdef  __cplusplus
}
#endif

#endif
