1 #ifndef DS_SURFACE_PRIVATE_H
2 #define DS_SURFACE_PRIVATE_H
7 #include <wayland-server.h>
10 #include "libds/util/box.h"
11 #include "libds/util/addon.h"
12 #include "libds/types/ds_surface.h"
13 #include "libds/types/ds_subsurface.h"
18 create_surface(struct wl_client *client, uint32_t version, uint32_t id);
20 void surface_state_move(struct ds_surface_state *state,
21 struct ds_surface_state *next);
23 void surface_commit_state(struct ds_surface *surface,
24 struct ds_surface_state *next);
26 void surface_state_init(struct ds_surface_state *state);
28 void surface_state_finish(struct ds_surface_state *state);
31 ds_surface_get_root_surface(struct ds_surface *surface);
33 struct ds_subsurface *
34 create_subsurface(struct wl_resource *subcomp_resource,
35 struct ds_surface *surface, struct ds_surface *parent,
36 uint32_t version, uint32_t id);
39 subsurface_get_parent(struct ds_subsurface *subsurface);
41 void subsurface_commit(struct ds_subsurface *subsurface);
43 void subsurface_parent_commit(struct ds_subsurface *subsurface,