diff options
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/backend/drm.h | 2 | ||||
-rw-r--r-- | include/wlr/render/egl.h | 2 | ||||
-rw-r--r-- | include/wlr/render/interface.h | 6 | ||||
-rw-r--r-- | include/wlr/render/wlr_renderer.h | 10 | ||||
-rw-r--r-- | include/wlr/types/wlr_compositor.h | 4 | ||||
-rw-r--r-- | include/wlr/types/wlr_layer_shell.h | 2 | ||||
-rw-r--r-- | include/wlr/types/wlr_output_layout.h | 8 | ||||
-rw-r--r-- | include/wlr/types/wlr_region.h | 3 | ||||
-rw-r--r-- | include/wlr/types/wlr_surface.h | 4 |
9 files changed, 24 insertions, 17 deletions
diff --git a/include/wlr/backend/drm.h b/include/wlr/backend/drm.h index 0c9e5c8b..14fafe10 100644 --- a/include/wlr/backend/drm.h +++ b/include/wlr/backend/drm.h @@ -19,4 +19,6 @@ struct wlr_backend *wlr_drm_backend_create(struct wl_display *display, bool wlr_backend_is_drm(struct wlr_backend *backend); bool wlr_output_is_drm(struct wlr_output *output); +struct wlr_session *wlr_drm_backend_get_session(struct wlr_backend *backend); + #endif diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h index 0b7f1dde..4d837138 100644 --- a/include/wlr/render/egl.h +++ b/include/wlr/render/egl.h @@ -98,4 +98,6 @@ bool wlr_egl_is_current(struct wlr_egl *egl); bool wlr_egl_swap_buffers(struct wlr_egl *egl, EGLSurface surface, pixman_region32_t *damage); +bool wlr_egl_destroy_surface(struct wlr_egl *egl, EGLSurface surface); + #endif diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h index 9dbe7247..e7cdce0a 100644 --- a/include/wlr/render/interface.h +++ b/include/wlr/render/interface.h @@ -11,12 +11,6 @@ #include <wlr/types/wlr_linux_dmabuf.h> #include <wlr/types/wlr_output.h> -struct wlr_renderer_impl; - -struct wlr_renderer { - const struct wlr_renderer_impl *impl; -}; - struct wlr_renderer_impl { void (*begin)(struct wlr_renderer *renderer, uint32_t width, uint32_t height); diff --git a/include/wlr/render/wlr_renderer.h b/include/wlr/render/wlr_renderer.h index eb365762..21f9c16c 100644 --- a/include/wlr/render/wlr_renderer.h +++ b/include/wlr/render/wlr_renderer.h @@ -6,9 +6,15 @@ #include <wlr/render/wlr_texture.h> #include <wlr/types/wlr_box.h> -struct wlr_output; +struct wlr_renderer_impl; -struct wlr_renderer; +struct wlr_renderer { + const struct wlr_renderer_impl *impl; + + struct { + struct wl_signal destroy; + } events; +}; void wlr_renderer_begin(struct wlr_renderer *r, int width, int height); void wlr_renderer_end(struct wlr_renderer *r); diff --git a/include/wlr/types/wlr_compositor.h b/include/wlr/types/wlr_compositor.h index 816ff713..f6be0a74 100644 --- a/include/wlr/types/wlr_compositor.h +++ b/include/wlr/types/wlr_compositor.h @@ -9,13 +9,15 @@ struct wlr_surface; struct wlr_subcompositor { struct wl_global *wl_global; struct wl_list wl_resources; + struct wl_list subsurface_resources; }; struct wlr_compositor { struct wl_global *wl_global; struct wl_list wl_resources; struct wlr_renderer *renderer; - struct wl_list surfaces; + struct wl_list surface_resources; + struct wl_list region_resources; struct wlr_subcompositor subcompositor; diff --git a/include/wlr/types/wlr_layer_shell.h b/include/wlr/types/wlr_layer_shell.h index 6040478d..22352906 100644 --- a/include/wlr/types/wlr_layer_shell.h +++ b/include/wlr/types/wlr_layer_shell.h @@ -61,7 +61,7 @@ struct wlr_layer_surface { struct wlr_layer_shell *shell; struct wl_list popups; // wlr_xdg_popup::link - const char *namespace; + char *namespace; enum zwlr_layer_shell_v1_layer layer; bool added, configured, mapped, closed; diff --git a/include/wlr/types/wlr_output_layout.h b/include/wlr/types/wlr_output_layout.h index ccb2cd61..759c8ccf 100644 --- a/include/wlr/types/wlr_output_layout.h +++ b/include/wlr/types/wlr_output_layout.h @@ -105,10 +105,10 @@ struct wlr_output *wlr_output_layout_get_center_output( struct wlr_output_layout *layout); enum wlr_direction { - WLR_DIRECTION_UP = 0, - WLR_DIRECTION_DOWN = 1, - WLR_DIRECTION_LEFT = 2, - WLR_DIRECTION_RIGHT = 4, + WLR_DIRECTION_UP = 1, + WLR_DIRECTION_DOWN = 2, + WLR_DIRECTION_LEFT = 4, + WLR_DIRECTION_RIGHT = 8, }; /** diff --git a/include/wlr/types/wlr_region.h b/include/wlr/types/wlr_region.h index ffacea72..a79ab61d 100644 --- a/include/wlr/types/wlr_region.h +++ b/include/wlr/types/wlr_region.h @@ -8,8 +8,7 @@ struct wl_resource; /* * Implements the given resource as region. */ -void wlr_region_create(struct wl_client *client, struct wl_resource *res, - uint32_t id); +struct wl_resource *wlr_region_create(struct wl_client *client, uint32_t id); pixman_region32_t *wlr_region_from_resource(struct wl_resource *resource); diff --git a/include/wlr/types/wlr_surface.h b/include/wlr/types/wlr_surface.h index 35d47926..5ff9996d 100644 --- a/include/wlr/types/wlr_surface.h +++ b/include/wlr/types/wlr_surface.h @@ -93,6 +93,8 @@ struct wlr_surface { // wlr_subsurface::parent_pending_link struct wl_list subsurface_pending_list; + struct wl_listener renderer_destroy; + void *data; }; @@ -121,7 +123,7 @@ bool wlr_surface_has_buffer(struct wlr_surface *surface); /** * Create the subsurface implementation for this surface. */ -void wlr_surface_make_subsurface(struct wlr_surface *surface, +struct wlr_subsurface *wlr_surface_make_subsurface(struct wlr_surface *surface, struct wlr_surface *parent, uint32_t id); /** |