pepper: APIs for accessing root views of a compositor
authorTaekyun Kim <tkq.kim@samsung.com>
Tue, 9 Jun 2015 06:38:51 +0000 (15:38 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Tue, 7 Jul 2015 06:56:50 +0000 (15:56 +0900)
These APIs are required for users to be able to traverse the view tree.

Change-Id: Icbd188a37ec5dca28a15a9d90182386163b27762

pepper/src/pepper.h
pepper/src/view.c

index bd83c4f..f8935d7 100644 (file)
@@ -340,6 +340,12 @@ PEPPER_API pepper_view_t *
 pepper_compositor_add_view(pepper_compositor_t *compositor,
                            pepper_view_t *parent, pepper_view_t *pos, pepper_surface_t *surface);
 
+PEPPER_API pepper_view_t *
+pepper_compositor_get_top_root_view(pepper_compositor_t *compositor);
+
+PEPPER_API pepper_view_t *
+pepper_compositor_get_bottom_root_view(pepper_compositor_t *compositor);
+
 PEPPER_API void
 pepper_view_destroy(pepper_view_t *view);
 
index 4d5bd66..de1ed2c 100644 (file)
@@ -67,6 +67,24 @@ pepper_compositor_add_view(pepper_compositor_t *compositor,
     return view;
 }
 
+PEPPER_API pepper_view_t *
+pepper_compositor_get_top_root_view(pepper_compositor_t *compositor)
+{
+    if (wl_list_empty(&compositor->root_view_list))
+        return NULL;
+
+    return pepper_container_of(compositor->root_view_list.prev, pepper_view_t, parent_link);
+}
+
+PEPPER_API pepper_view_t *
+pepper_compositor_get_bottom_root_view(pepper_compositor_t *compositor)
+{
+    if (wl_list_empty(&compositor->root_view_list))
+        return NULL;
+
+    return pepper_container_of(compositor->root_view_list.next, pepper_view_t, parent_link);
+}
+
 PEPPER_API void
 pepper_view_destroy(pepper_view_t *view)
 {