subsurface: Add request_move signal
[platform/core/uifw/libds.git] / include / libds / types / ds_subsurface.h
1 #ifndef LIBDS_TYPES_DS_SUBSURFACE_H
2 #define LIBDS_TYPES_DS_SUBSURFACE_H
3
4 #include <wayland-server.h>
5
6 #include <libds/types/ds_surface.h>
7 #include <libds/subsurface.h>
8
9 struct ds_subsurface_parent_state
10 {
11     int32_t x, y;
12     struct wl_list link;
13 };
14
15 struct ds_subsurface
16 {
17     struct wl_resource *resource;
18     struct ds_surface *surface;
19     struct ds_surface *parent;
20
21     struct ds_subsurface_parent_state current, pending;
22
23     struct {
24         struct wl_signal destroy;
25         struct wl_signal cached;
26         struct wl_signal request_move;
27     } events;
28
29     struct {
30         struct wl_listener surface_destroy;
31         struct wl_listener parent_destroy;
32     } listener;
33
34     struct ds_surface_state cached;
35     bool has_cache;
36
37     bool synchronized;
38     bool reordered;
39     bool mapped;
40 };
41
42 #endif