diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2021-03-08 22:45:52 +0200 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2021-11-02 19:32:24 +0200 |
commit | 2be09373b41181200efac32685fb715e41d80abe (patch) | |
tree | ed627d9d502d0fdc934d32044e6bff83488c6e6e /kiosk-shell | |
parent | d98c7e86fb75bfa12ace99cfe25048f49851a90b (diff) | |
download | weston-2be09373b41181200efac32685fb715e41d80abe.tar.gz |
desktop-shell, kiosk-shell: Migrate helpers to create a view to shell-utils
Incidentally fixes #553
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Diffstat (limited to 'kiosk-shell')
-rw-r--r-- | kiosk-shell/kiosk-shell.c | 25 | ||||
-rw-r--r-- | kiosk-shell/meson.build | 1 | ||||
-rw-r--r-- | kiosk-shell/util.c | 70 | ||||
-rw-r--r-- | kiosk-shell/util.h | 36 |
4 files changed, 13 insertions, 119 deletions
diff --git a/kiosk-shell/kiosk-shell.c b/kiosk-shell/kiosk-shell.c index 0648ed58..5aea5bf0 100644 --- a/kiosk-shell/kiosk-shell.c +++ b/kiosk-shell/kiosk-shell.c @@ -34,7 +34,6 @@ #include "compositor/weston.h" #include "shared/helpers.h" #include "shared/shell-utils.h" -#include "util.h" #include <libweston/xwayland-api.h> @@ -461,7 +460,7 @@ kiosk_shell_output_recreate_background(struct kiosk_shell_output *shoutput) struct weston_output *output = shoutput->output; struct weston_config_section *shell_section = NULL; uint32_t bg_color = 0x0; - float r, g, b; + struct weston_solid_color_surface solid_surface = {}; if (shoutput->background_view) weston_surface_destroy(shoutput->background_view->surface); @@ -475,21 +474,23 @@ kiosk_shell_output_recreate_background(struct kiosk_shell_output *shoutput) weston_config_section_get_color(shell_section, "background-color", &bg_color, 0x00000000); - r = ((bg_color >> 16) & 0xff) / 255.0; - g = ((bg_color >> 8) & 0xff) / 255.0; - b = ((bg_color >> 0) & 0xff) / 255.0; + solid_surface.r = ((bg_color >> 16) & 0xff) / 255.0; + solid_surface.g = ((bg_color >> 8) & 0xff) / 255.0; + solid_surface.b = ((bg_color >> 0) & 0xff) / 255.0; + + solid_surface.get_label = kiosk_shell_background_surface_get_label; + solid_surface.surface_committed = NULL; + solid_surface.surface_private = NULL; shoutput->background_view = - create_colored_surface(shoutput->shell->compositor, - r, g, b, - output->x, output->y, - output->width, - output->height); + create_solid_color_surface(shoutput->shell->compositor, + &solid_surface, + output->x, output->y, + output->width, + output->height); weston_surface_set_role(shoutput->background_view->surface, "kiosk-shell-background", NULL, 0); - weston_surface_set_label_func(shoutput->background_view->surface, - kiosk_shell_background_surface_get_label); weston_layer_entry_insert(&shell->background_layer.view_list, &shoutput->background_view->layer_link); diff --git a/kiosk-shell/meson.build b/kiosk-shell/meson.build index f9468687..c3a37da2 100644 --- a/kiosk-shell/meson.build +++ b/kiosk-shell/meson.build @@ -2,7 +2,6 @@ if get_option('shell-kiosk') srcs_shell_kiosk = [ 'kiosk-shell.c', 'kiosk-shell-grab.c', - 'util.c', '../shared/shell-utils.c', weston_desktop_shell_server_protocol_h, weston_desktop_shell_protocol_c, diff --git a/kiosk-shell/util.c b/kiosk-shell/util.c deleted file mode 100644 index b411b504..00000000 --- a/kiosk-shell/util.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2010-2012 Intel Corporation - * Copyright 2013 Raspberry Pi Foundation - * Copyright 2011-2012,2020 Collabora, Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/* Helper functions for kiosk-shell */ - -#include "util.h" -#include "shared/helpers.h" -#include <libweston/libweston.h> - -static void -colored_surface_committed(struct weston_surface *es, int32_t sx, int32_t sy) -{ -} - -struct weston_view * -create_colored_surface(struct weston_compositor *compositor, - float r, float g, float b, - float x, float y, int w, int h) -{ - struct weston_surface *surface = NULL; - struct weston_view *view; - - surface = weston_surface_create(compositor); - if (surface == NULL) { - weston_log("no memory\n"); - return NULL; - } - view = weston_view_create(surface); - if (surface == NULL) { - weston_log("no memory\n"); - weston_surface_destroy(surface); - return NULL; - } - - surface->committed = colored_surface_committed; - surface->committed_private = NULL; - - weston_surface_set_color(surface, r, g, b, 1.0); - pixman_region32_fini(&surface->opaque); - pixman_region32_init_rect(&surface->opaque, 0, 0, w, h); - pixman_region32_fini(&surface->input); - pixman_region32_init_rect(&surface->input, 0, 0, w, h); - - weston_surface_set_size(surface, w, h); - weston_view_set_position(view, x, y); - - return view; -} diff --git a/kiosk-shell/util.h b/kiosk-shell/util.h deleted file mode 100644 index a6647be6..00000000 --- a/kiosk-shell/util.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2010-2012 Intel Corporation - * Copyright 2013 Raspberry Pi Foundation - * Copyright 2011-2012,2020 Collabora, Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -/* Helper functions adapted from desktop-shell */ - -#include <stdint.h> - -struct weston_compositor; -struct weston_surface; - -struct weston_view * -create_colored_surface(struct weston_compositor *compositor, - float r, float g, float b, - float x, float y, int w, int h); |