Commit deee858b authored by eucan's avatar eucan Committed by Pekka Paalanen

ivi-shell: add_screen_remove_layer API

It is analagous to layer_remove_surface API.
The API removes a layer from the render order
of the screen.

v3:
add the new vfunc at the end of
the ivi_layout_interface struct.
Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
Reviewed-by: default avatarEugen Friedrich <friedrix@gmail.com>
Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
parent 3e5303da
......@@ -578,6 +578,16 @@ struct ivi_layout_interface {
*/
struct ivi_layout_surface *
(*get_surface)(struct weston_surface *surface);
/**
* \brief Remove a ivi_layer to a weston_output which is currently managed
* by the service
*
* \return IVI_SUCCEEDED if the method call was successful
* \return IVI_FAILED if the method call was failed
*/
int32_t (*screen_remove_layer)(struct weston_output *output,
struct ivi_layout_layer *removelayer);
};
#ifdef __cplusplus
......
......@@ -1663,6 +1663,27 @@ ivi_layout_screen_add_layer(struct weston_output *output,
return IVI_SUCCEEDED;
}
static int32_t
ivi_layout_screen_remove_layer(struct weston_output *output,
struct ivi_layout_layer *removelayer)
{
struct ivi_layout_screen *iviscrn;
if (output == NULL || removelayer == NULL) {
weston_log("ivi_layout_screen_remove_layer: invalid argument\n");
return IVI_FAILED;
}
iviscrn = get_screen_from_output(output);
wl_list_remove(&removelayer->pending.link);
wl_list_init(&removelayer->pending.link);
iviscrn->order.dirty = 1;
return IVI_SUCCEEDED;
}
static int32_t
ivi_layout_screen_set_render_order(struct weston_output *output,
struct ivi_layout_layer **pLayer,
......@@ -2088,6 +2109,7 @@ static struct ivi_layout_interface ivi_layout_interface = {
*/
.get_screens_under_layer = ivi_layout_get_screens_under_layer,
.screen_add_layer = ivi_layout_screen_add_layer,
.screen_remove_layer = ivi_layout_screen_remove_layer,
.screen_set_render_order = ivi_layout_screen_set_render_order,
/**
......
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