summaryrefslogtreecommitdiff
path: root/ivi-shell
diff options
context:
space:
mode:
authorUcan, Emre (ADITG/SW1) <eucan@de.adit-jv.com>2016-03-17 15:30:46 +0000
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2016-03-24 11:10:07 +0200
commitb216c92d4d19d4b88817d088038de90f3d95ec06 (patch)
treec895314f72390791203ad361aa1dafcd66634f6c /ivi-shell
parent273874e3c715a7102add0030f200d0a0f17628fa (diff)
ivi-shell: implement get_screen_from_output
It is an internal API, which returns ivi_layout_screen for a pregiven weston_output. Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by: Wataru Natsume <wnatsume@jp.adit-jv.com>
Diffstat (limited to 'ivi-shell')
-rw-r--r--ivi-shell/ivi-layout.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index b058c288..798049ad 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -167,6 +167,20 @@ get_weston_view(struct ivi_layout_surface *ivisurf)
return view;
}
+static struct ivi_layout_screen *
+get_screen_from_output(struct weston_output *output)
+{
+ struct ivi_layout *layout = get_instance();
+ struct ivi_layout_screen *iviscrn = NULL;
+
+ wl_list_for_each(iviscrn, &layout->screen_list, link) {
+ if (iviscrn->output == output)
+ return iviscrn;
+ }
+
+ return NULL;
+}
+
static void
remove_all_notification(struct wl_list *listener_list)
{
@@ -1489,7 +1503,7 @@ ivi_layout_get_layers_on_screen(struct weston_output *output,
return IVI_FAILED;
}
- iviscrn = ivi_layout_get_screen_from_id(output->id);
+ iviscrn = get_screen_from_output(output);
length = wl_list_length(&iviscrn->order.layer_list);
if (length != 0) {
@@ -1961,7 +1975,7 @@ ivi_layout_screen_add_layer(struct weston_output *output,
return IVI_FAILED;
}
- iviscrn = ivi_layout_get_screen_from_id(output->id);
+ iviscrn = get_screen_from_output(output);
if (addlayer->on_screen == iviscrn) {
weston_log("ivi_layout_screen_add_layer: addlayer is already available\n");
@@ -1991,7 +2005,7 @@ ivi_layout_screen_set_render_order(struct weston_output *output,
return IVI_FAILED;
}
- iviscrn = ivi_layout_get_screen_from_id(output->id);
+ iviscrn = get_screen_from_output(output);
wl_list_for_each_safe(ivilayer, next,
&iviscrn->pending.layer_list, pending.link) {