[PATCH weston v2 1/3] compositor: introduce structs to handle backends configuration
Giulio Camuffo
giuliocamuffo at gmail.com
Mon Oct 19 23:32:17 PDT 2015
This commit introduces the structs weston_backend_config and
weston_backend_output_config, to prepare for the new config
system for the backends.
---
v2: use uints for the width and height
src/compositor.h | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/src/compositor.h b/src/compositor.h
index 2e2a185..b065f11 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -610,9 +610,41 @@ enum weston_capability {
WESTON_CAP_VIEW_CLIP_MASK = 0x0010,
};
+/* Configuration struct for an output.
+ *
+ * This struct is used to pass the configuration for an output
+ * to the compositor backend when creating a new output.
+ * The backend can subclass this struct to handle backend
+ * specific data.
+ */
+struct weston_backend_output_config {
+ uint32_t transform;
+ uint32_t width;
+ uint32_t height;
+ int scale;
+};
+
+/* Configuration struct for a backend.
+ *
+ * This struct carries the configuration for a backend, and it's
+ * passed to the backend's init entry point. The backend will
+ * likely want to subclass this in order to handle backend specific
+ * data.
+ */
+struct weston_backend_config {
+};
+
struct weston_backend {
- void (*destroy)(struct weston_compositor *ec);
- void (*restore)(struct weston_compositor *ec);
+ void (*destroy)(struct weston_compositor *compositor);
+ void (*restore)(struct weston_compositor *compositor);
+ /* vfunc to create a new output with a given name and config.
+ * backends not supporting the functionality will set this
+ * to NULL.
+ */
+ struct weston_output *
+ (*create_output)(struct weston_compositor *compositor,
+ const char *name,
+ struct weston_backend_output_config *config);
};
struct weston_compositor {
--
2.6.1
More information about the wayland-devel
mailing list