pepper: Add pepper_surface/buffer_get_size() 77/52377/1
authorTaekyun Kim <tkq.kim@samsung.com>
Wed, 18 Nov 2015 05:51:37 +0000 (14:51 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Mon, 23 Nov 2015 05:48:53 +0000 (14:48 +0900)
Change-Id: I47e203d72f98e26874854543950b62378d06b875

src/lib/pepper/buffer.c
src/lib/pepper/pepper-internal.h
src/lib/pepper/pepper.h
src/lib/pepper/surface.c

index 87432887f31f57da9b9e14a66dff8ee6654e7710..2f7a158a17177d29deee55b4bb37f6162b50b5bf 100644 (file)
@@ -81,3 +81,20 @@ pepper_buffer_get_resource(pepper_buffer_t *buffer)
 {
     return buffer->resource;
 }
+
+PEPPER_API pepper_bool_t
+pepper_buffer_get_size(pepper_buffer_t *buffer, int *w, int *h)
+{
+    if (buffer->attached)
+    {
+        if (w)
+            *w = buffer->w;
+
+        if (h)
+            *h = buffer->h;
+
+        return PEPPER_TRUE;
+    }
+
+    return PEPPER_FALSE;
+}
index f03f06ccbccd3e50095c29d069f826c032a2d28c..2aa830ae0eec7d774ff704f2293228ac4c00429e 100644 (file)
@@ -153,6 +153,7 @@ struct pepper_buffer
 
     /* the buffer size is unknown until it is actually attached to a renderer. */
     int32_t                 w, h;
+    pepper_bool_t           attached;
 };
 
 pepper_buffer_t *
index 01791819bc6ff902a44a3e648db4e22fc40855e4..79c0df8117c3c4ac7159df3b5720fd1ab77de57a 100644 (file)
@@ -1156,6 +1156,9 @@ pepper_surface_get_opaque_region(pepper_surface_t *surface);
 PEPPER_API pixman_region32_t *
 pepper_surface_get_input_region(pepper_surface_t *surface);
 
+PEPPER_API void
+pepper_surface_get_size(pepper_surface_t *surface, int *w, int *h);
+
 PEPPER_API void
 pepper_surface_send_enter(pepper_surface_t *surface, pepper_output_t *output);
 
@@ -1172,6 +1175,9 @@ pepper_buffer_unreference(pepper_buffer_t *buffer);
 PEPPER_API struct wl_resource *
 pepper_buffer_get_resource(pepper_buffer_t *buffer);
 
+PEPPER_API pepper_bool_t
+pepper_buffer_get_size(pepper_buffer_t *buffer, int *w, int *h);
+
 /* View. */
 PEPPER_API pepper_view_t *
 pepper_compositor_add_view(pepper_compositor_t *compositor);
index 7d54babaf8a11a117a960054439fa518204e13c7..50ef6f1a0210bb0b9cd5b689e39933bc3b06e49e 100644 (file)
@@ -387,6 +387,7 @@ attach_surface_to_outputs(pepper_surface_t *surface)
         {
             surface->buffer.buffer->w = w;
             surface->buffer.buffer->h = h;
+            surface->buffer.buffer->attached = PEPPER_TRUE;
         }
     }
 }
@@ -547,6 +548,16 @@ pepper_surface_get_input_region(pepper_surface_t *surface)
     return &surface->input_region;
 }
 
+PEPPER_API void
+pepper_surface_get_size(pepper_surface_t *surface, int *w, int *h)
+{
+    if (w)
+        *w = surface->w;
+
+    if (h)
+        *h = surface->h;
+}
+
 PEPPER_API void
 pepper_surface_send_enter(pepper_surface_t *surface, pepper_output_t *output)
 {