/* Generated by wayland-scanner 1.24.0 */

#ifndef EFL_HINTS_CLIENT_PROTOCOL_H
#define EFL_HINTS_CLIENT_PROTOCOL_H

#include <stdint.h>
#include <stddef.h>
#include "wayland-client.h"

#ifdef  __cplusplus
extern "C" {
#endif

/**
 * @page page_efl_hints The efl_hints protocol
 * @section page_ifaces_efl_hints Interfaces
 * - @subpage page_iface_efl_hints - 
 */
struct efl_hints;
struct xdg_surface;

#ifndef EFL_HINTS_INTERFACE
#define EFL_HINTS_INTERFACE
/**
 * @page page_iface_efl_hints efl_hints
 * @section page_iface_efl_hints_api API
 * See @ref iface_efl_hints.
 */
/**
 * @defgroup iface_efl_hints The efl_hints interface
 */
extern const struct wl_interface efl_hints_interface;
#endif

#ifndef EFL_HINTS_ASPECT_ENUM
#define EFL_HINTS_ASPECT_ENUM
enum efl_hints_aspect {
	EFL_HINTS_ASPECT_NONE = 0,
	EFL_HINTS_ASPECT_NEITHER = 1,
	EFL_HINTS_ASPECT_HORIZONTAL = 2,
	EFL_HINTS_ASPECT_VERTICAL = 3,
	EFL_HINTS_ASPECT_BOTH = 4,
};
#endif /* EFL_HINTS_ASPECT_ENUM */

#define EFL_HINTS_SET_ASPECT 0
#define EFL_HINTS_SET_WEIGHT 1


/**
 * @ingroup iface_efl_hints
 */
#define EFL_HINTS_SET_ASPECT_SINCE_VERSION 1
/**
 * @ingroup iface_efl_hints
 */
#define EFL_HINTS_SET_WEIGHT_SINCE_VERSION 1

/** @ingroup iface_efl_hints */
static inline void
efl_hints_set_user_data(struct efl_hints *efl_hints, void *user_data)
{
	wl_proxy_set_user_data((struct wl_proxy *) efl_hints, user_data);
}

/** @ingroup iface_efl_hints */
static inline void *
efl_hints_get_user_data(struct efl_hints *efl_hints)
{
	return wl_proxy_get_user_data((struct wl_proxy *) efl_hints);
}

static inline uint32_t
efl_hints_get_version(struct efl_hints *efl_hints)
{
	return wl_proxy_get_version((struct wl_proxy *) efl_hints);
}

/** @ingroup iface_efl_hints */
static inline void
efl_hints_destroy(struct efl_hints *efl_hints)
{
	wl_proxy_destroy((struct wl_proxy *) efl_hints);
}

/**
 * @ingroup iface_efl_hints
 */
static inline void
efl_hints_set_aspect(struct efl_hints *efl_hints, struct xdg_surface *surface, uint32_t width, uint32_t height, uint32_t aspect)
{
	wl_proxy_marshal_flags((struct wl_proxy *) efl_hints,
			 EFL_HINTS_SET_ASPECT, NULL, wl_proxy_get_version((struct wl_proxy *) efl_hints), 0, surface, width, height, aspect);
}

/**
 * @ingroup iface_efl_hints
 */
static inline void
efl_hints_set_weight(struct efl_hints *efl_hints, struct xdg_surface *surface, int32_t width, int32_t height)
{
	wl_proxy_marshal_flags((struct wl_proxy *) efl_hints,
			 EFL_HINTS_SET_WEIGHT, NULL, wl_proxy_get_version((struct wl_proxy *) efl_hints), 0, surface, width, height);
}

#ifdef  __cplusplus
}
#endif

#endif
