The output transform configuration is moved into weston and added to the
fbdev configuration structure.

Signed-off-by: Benoit Gschwind <gschw...@gnu-log.net>
---
 src/compositor-fbdev.c | 17 ++++-------------
 src/compositor-fbdev.h |  2 ++
 src/main.c             |  8 ++++++++
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 619f969..4029714 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -60,6 +60,7 @@ struct fbdev_backend {
        struct udev_input input;
        int use_pixman;
        char *device;
+       uint32_t output_transform;
        struct wl_listener session_listener;
 };
 
@@ -452,11 +453,8 @@ static int
 fbdev_output_create(struct fbdev_backend *backend)
 {
        struct fbdev_output *output;
-       struct weston_config_section *section;
        int fb_fd;
        struct wl_event_loop *loop;
-       uint32_t config_transform;
-       char *s;
 
        weston_log("Creating fbdev output.\n");
 
@@ -502,19 +500,10 @@ fbdev_output_create(struct fbdev_backend *backend)
        output->base.model = output->fb_info.id;
        output->base.name = strdup("fbdev");
 
-       section = weston_config_get_section(backend->compositor->config,
-                                           "output", "name",
-                                           output->base.name);
-       weston_config_section_get_string(section, "transform", &s, "normal");
-       if (weston_parse_transform(s, &config_transform) < 0)
-               weston_log("Invalid transform \"%s\" for output %s\n",
-                          s, output->base.name);
-       free(s);
-
        weston_output_init(&output->base, backend->compositor,
                           0, 0, output->fb_info.width_mm,
                           output->fb_info.height_mm,
-                          config_transform,
+                          backend->output_transform,
                           1);
 
        if (backend->use_pixman) {
@@ -779,6 +768,7 @@ fbdev_backend_create(struct weston_compositor *compositor, 
int *argc, char *argv
        backend->prev_state = WESTON_COMPOSITOR_ACTIVE;
        backend->use_pixman = !param->use_gl;
        backend->device = strdup(param->device);
+       backend->output_transform = param->output_transform;
 
        weston_setup_vt_switch_bindings(compositor);
 
@@ -831,6 +821,7 @@ config_init_to_defaults(struct weston_fbdev_backend_config 
*config)
        config->tty = 0; /* default to current tty */
        config->device = "/dev/fb0"; /* default frame buffer */
        config->use_gl = 0;
+       config->output_transform = WL_OUTPUT_TRANSFORM_NORMAL;
 }
 
 WL_EXPORT int
diff --git a/src/compositor-fbdev.h b/src/compositor-fbdev.h
index 48bd269..bd60bdc 100644
--- a/src/compositor-fbdev.h
+++ b/src/compositor-fbdev.h
@@ -40,6 +40,8 @@ struct weston_fbdev_backend_config {
        int tty;
        char *device;
        int use_gl;
+
+       uint32_t output_transform;
 };
 
 #ifdef  __cplusplus
diff --git a/src/main.c b/src/main.c
index 6062e8b..4c9e035 100644
--- a/src/main.c
+++ b/src/main.c
@@ -773,6 +773,8 @@ load_fbdev_backend(struct weston_compositor *c, char const 
* backend,
                      int *argc, char **argv, struct weston_config *wc)
 {
        struct weston_fbdev_backend_config config = {{ 0, }};
+       struct weston_config_section *section;
+       char *s = NULL;
        int ret = 0;
 
        const struct weston_option fbdev_options[] = {
@@ -786,6 +788,12 @@ load_fbdev_backend(struct weston_compositor *c, char const 
* backend,
        if (!config.device)
                config.device = strdup("/dev/fb0");
 
+       section = weston_config_get_section(wc, "output", "name", "fbdev");
+       weston_config_section_get_string(section, "transform", &s, "normal");
+       if (weston_parse_transform(s, &config.output_transform) < 0)
+               weston_log("Invalid transform \"%s\" for output fbdev\n", s);
+       free(s);
+
        config.base.struct_version = WESTON_FBDEV_BACKEND_CONFIG_VERSION;
        config.base.struct_size = sizeof(struct weston_fbdev_backend_config);
 
-- 
2.7.3

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to