compositor: introduce structs to handle backends configuration

This commit introduces the structs weston_backend_config and
weston_backend_output_config, to prepare for the new config
system for the backends.

Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
Giulio Camuffo 2015-10-17 19:24:13 +03:00 committed by Bryce Harrington
parent ecf819b82e
commit e3c0d8af43
1 changed files with 34 additions and 2 deletions

View File

@ -610,9 +610,41 @@ enum weston_capability {
WESTON_CAP_VIEW_CLIP_MASK = 0x0010, 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;
int32_t width;
int32_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 { struct weston_backend {
void (*destroy)(struct weston_compositor *ec); void (*destroy)(struct weston_compositor *compositor);
void (*restore)(struct weston_compositor *ec); 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 { struct weston_compositor {