diff options
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_surface.h | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index 2ea4e35a..526679d6 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -17,7 +17,6 @@ enum wlr_surface_state_field { WLR_SURFACE_STATE_TRANSFORM = 32, WLR_SURFACE_STATE_SCALE = 64, WLR_SURFACE_STATE_FRAME_CALLBACK_LIST = 128, - WLR_SURFACE_STATE_SUBSURFACE_POSITION = 256, }; struct wlr_surface_state { @@ -32,38 +31,10 @@ struct wlr_surface_state { int32_t scale; struct wl_list frame_callback_list; // wl_resource - struct { - int32_t x, y; - } subsurface_position; - int width, height; // in surface-local coordinates int buffer_width, buffer_height; }; -struct wlr_subsurface { - struct wl_resource *resource; - struct wlr_surface *surface; - struct wlr_surface *parent; - - struct wlr_surface_state *cached; - bool has_cache; - - bool synchronized; - bool reordered; - - struct wl_list parent_link; - struct wl_list parent_pending_link; - - struct wl_listener surface_destroy; - struct wl_listener parent_destroy; - - struct { - struct wl_signal destroy; - } events; - - void *data; -}; - struct wlr_surface { struct wl_resource *resource; struct wlr_renderer *renderer; @@ -97,6 +68,36 @@ struct wlr_surface { void *data; }; +struct wlr_subsurface_state { + int32_t x, y; +}; + +struct wlr_subsurface { + struct wl_resource *resource; + struct wlr_surface *surface; + struct wlr_surface *parent; + + struct wlr_subsurface_state current, pending; + + struct wlr_surface_state *cached; + bool has_cache; + + bool synchronized; + bool reordered; + + struct wl_list parent_link; + struct wl_list parent_pending_link; + + struct wl_listener surface_destroy; + struct wl_listener parent_destroy; + + struct { + struct wl_signal destroy; + } events; + + void *data; +}; + typedef void (*wlr_surface_iterator_func_t)(struct wlr_surface *surface, int sx, int sy, void *data); |