struct tw_desktop_surface_api

#include <desktop.h>

struct tw_desktop_surface_api
{
    // fields

    void(* ping_timeout)(struct tw_desktop_surface *client, void *user_data);
    void(* pong)(struct tw_desktop_surface *client, void *user_data);
    void(* surface_added)(struct tw_desktop_surface *surface, void *user_data);
    void(* surface_removed)(struct tw_desktop_surface *surface, void *user_data);
    void(* committed)(struct tw_desktop_surface *surface, void *user_data);
    void(* show_window_menu)(struct tw_desktop_surface *surface, struct tw_seat *seat, int32_t x, int32_t y, void *user_data);
    void(* set_parent)(struct tw_desktop_surface *surface, struct tw_desktop_surface *parent, void *user_data);
    void(* move)(struct tw_desktop_surface *surface, struct tw_seat *seat, uint32_t serial, void *user_data);
    void(* resize)(struct tw_desktop_surface *surface, struct tw_seat *seat, uint32_t serial, enum wl_shell_surface_resize edges, void *user_data);
    void(* fullscreen_requested)(struct tw_desktop_surface *surface, struct wl_resource *output, bool fullscreen, void *user_data);
    void(* maximized_requested)(struct tw_desktop_surface *surface, bool maximized, void *user_data);
    void(* minimized_requested)(struct tw_desktop_surface *surface, void *user_data);
    void(* configure_requested)(struct tw_desktop_surface *surface, int x, int y, unsigned w, unsigned h, uint32_t flags, void *user_data);
};