Commit 13281f69 authored by Pekka Paalanen's avatar Pekka Paalanen
Browse files

ivi-shell: add shell surface labels



To be used by the Weston timeline feature for identifying surfaces in a
trace. The 'get_label' functionality can also be used by any debugging
code, too.
Signed-off-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: default avatarEugen Friedrich <friedrix@gmail.com>
parent 1c04d7b8
......@@ -121,6 +121,19 @@ ivi_shell_surface_configure(struct weston_surface *surface,
}
}
static int
ivi_shell_surface_get_label(struct weston_surface *surface,
char *buf,
size_t len)
{
struct ivi_shell_surface *shell_surf = get_ivi_shell_surface(surface);
if (!shell_surf)
return snprintf(buf, len, "unidentified window in ivi-shell");
return snprintf(buf, len, "ivi-surface %#x", shell_surf->id_surface);
}
static void
layout_surface_cleanup(struct ivi_shell_surface *ivisurf)
{
......@@ -131,6 +144,7 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf)
ivisurf->surface->configure = NULL;
ivisurf->surface->configure_private = NULL;
weston_surface_set_label_func(ivisurf->surface, NULL);
ivisurf->surface = NULL;
// destroy weston_surface destroy signal.
......@@ -262,6 +276,8 @@ application_surface_create(struct wl_client *client,
weston_surface->configure = ivi_shell_surface_configure;
weston_surface->configure_private = ivisurf;
weston_surface_set_label_func(weston_surface,
ivi_shell_surface_get_label);
res = wl_resource_create(client, &ivi_surface_interface, 1, id);
if (res == NULL) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment