/* Generated by wayland-scanner 1.25.0 */

/*
 * SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
 * SPDX-License-Identifier: MIT
 */

#include <stdbool.h>
#include <stdlib.h>
#include <stdint.h>
#include "wayland-util.h"

extern const struct wl_interface treeland_wallpaper_surface_v1_interface;
extern const struct wl_interface wl_surface_interface;

static const struct wl_interface *treeland_wallpaper_shell_unstable_v1_types[] = {
	NULL,
	NULL,
	&treeland_wallpaper_surface_v1_interface,
	&wl_surface_interface,
	NULL,
};

static const struct wl_message treeland_wallpaper_notifier_v1_requests[] = {
	{ "destroy", "", treeland_wallpaper_shell_unstable_v1_types + 0 },
};

static const struct wl_message treeland_wallpaper_notifier_v1_events[] = {
	{ "add", "us", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "remove", "s", treeland_wallpaper_shell_unstable_v1_types + 0 },
};

WL_EXPORT const struct wl_interface treeland_wallpaper_notifier_v1_interface = {
	"treeland_wallpaper_notifier_v1", 1,
	1, treeland_wallpaper_notifier_v1_requests,
	2, treeland_wallpaper_notifier_v1_events,
};

static const struct wl_message treeland_wallpaper_shell_v1_requests[] = {
	{ "destroy", "", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "get_treeland_wallpaper_surface", "nos", treeland_wallpaper_shell_unstable_v1_types + 2 },
};

WL_EXPORT const struct wl_interface treeland_wallpaper_shell_v1_interface = {
	"treeland_wallpaper_shell_v1", 2,
	2, treeland_wallpaper_shell_v1_requests,
	0, NULL,
};

static const struct wl_message treeland_wallpaper_surface_v1_requests[] = {
	{ "destroy", "", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "source_failed", "u", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "ready", "2", treeland_wallpaper_shell_unstable_v1_types + 0 },
};

static const struct wl_message treeland_wallpaper_surface_v1_events[] = {
	{ "position", "f", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "pause", "", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "set_playback_rate", "f", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "play", "", treeland_wallpaper_shell_unstable_v1_types + 0 },
	{ "slow_down", "u", treeland_wallpaper_shell_unstable_v1_types + 0 },
};

WL_EXPORT const struct wl_interface treeland_wallpaper_surface_v1_interface = {
	"treeland_wallpaper_surface_v1", 2,
	3, treeland_wallpaper_surface_v1_requests,
	5, treeland_wallpaper_surface_v1_events,
};

