aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-06-07 14:35:26 +0200
committerSimon Ser <contact@emersion.fr>2023-08-16 16:39:52 +0200
commit8678633fc9772940a3b8b59f6caa3603a13cf5e3 (patch)
treee5a4902b2a05da97924e4419c27a467b16602876 /include
parent4f888861997ee7314fde868eede6b2474a299679 (diff)
backend/wayland: add wlr_wl_output_create_from_surface()
By using this function, a compositor can display a wlroots compositor in a sub-surface, for instance.
Diffstat (limited to 'include')
-rw-r--r--include/backend/wayland.h1
-rw-r--r--include/wlr/backend/wayland.h13
2 files changed, 13 insertions, 1 deletions
diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index f28d1083..938e3cf7 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -84,6 +84,7 @@ struct wlr_wl_output {
struct wl_list link;
struct wl_surface *surface;
+ bool own_surface;
struct wl_callback *frame_callback;
struct xdg_surface *xdg_surface;
struct xdg_toplevel *xdg_toplevel;
diff --git a/include/wlr/backend/wayland.h b/include/wlr/backend/wayland.h
index 45df69e1..a30bac25 100644
--- a/include/wlr/backend/wayland.h
+++ b/include/wlr/backend/wayland.h
@@ -24,7 +24,12 @@ struct wlr_backend *wlr_wl_backend_create(struct wl_display *display,
struct wl_display *wlr_wl_backend_get_remote_display(struct wlr_backend *backend);
/**
- * Adds a new output to this backend. You may remove outputs by destroying them.
+ * Adds a new output to this backend.
+ *
+ * This creates a new xdg_toplevel in the parent Wayland compositor.
+ *
+ * You may remove outputs by destroying them.
+ *
* Note that if called before initializing the backend, this will return NULL
* and your outputs will be created during initialization (and given to you via
* the new_output signal).
@@ -32,6 +37,12 @@ struct wl_display *wlr_wl_backend_get_remote_display(struct wlr_backend *backend
struct wlr_output *wlr_wl_output_create(struct wlr_backend *backend);
/**
+ * Create a new output from an existing struct wl_surface.
+ */
+struct wlr_output *wlr_wl_output_create_from_surface(struct wlr_backend *backend,
+ struct wl_surface *surface);
+
+/**
* Check whether the provided backend is a Wayland backend.
*/
bool wlr_backend_is_wl(struct wlr_backend *backend);