e_compositor: Add e_surface_opaque_region_get
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 22 Aug 2024 00:30:29 +0000 (09:30 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Thu, 29 Aug 2024 06:50:57 +0000 (15:50 +0900)
src/bin/server/e_compositor.c
src/bin/server/e_compositor_intern.h

index a6f4697cfc72f2d6c91c1bf67fe4453719043dcc..520f095414cb4522cf90734506ceace7bafbd875 100644 (file)
@@ -648,6 +648,15 @@ e_surface_damage_empty(E_Surface *surface)
       !pixman_region32_not_empty(&surface->ds_surface->current.surface_damage);
 }
 
+EINTERN pixman_region32_t *
+e_surface_opaque_region_get(E_Surface *surface)
+{
+   if (!surface->ds_surface)
+     return NULL;
+
+   return &surface->ds_surface->current.opaque;
+}
+
 EINTERN E_Subsurface *
 e_subsurface_try_from_surface(E_Surface *surface)
 {
index 5beb24dd01ca062fcb5cc21c660b16a277e96c01..dbfe73d490b5b092817976714f55bdbfa572df1a 100644 (file)
@@ -49,6 +49,7 @@ void e_surface_frame_done_send(E_Surface *surface);
 Eina_Bool e_surface_damage_empty(E_Surface *surface);
 pixman_region32_t *e_surface_buffer_damage_get(E_Surface *surface);
 pixman_region32_t *e_surface_surface_damage_get(E_Surface *surface);
+pixman_region32_t *e_surface_opaque_region_get(E_Surface *surface);
 
 E_Subsurface *e_subsurface_create(struct wl_resource *factory_resource, uint32_t id, E_Surface *surface, E_Surface *parent);
 E_Subsurface *e_subsurface_from_resource(struct wl_resource *resource);