[mutter] wayland: Use surface size helper functions



commit db22c13c4fab70042adf6c6f273e95b766bc224d
Author: Robert Mader <robert mader posteo de>
Date:   Fri Jun 29 17:53:21 2018 +0200

    wayland: Use surface size helper functions
    
    Use meta_wayland_surface_get_width / meta_wayland_surface_get_width
    to determine the size of a surface.

 src/wayland/meta-wayland-shell-surface.c | 13 ++-----------
 src/wayland/meta-wayland-subsurface.c    | 11 ++---------
 src/wayland/meta-wayland-surface.c       | 14 ++++----------
 3 files changed, 8 insertions(+), 30 deletions(-)
---
diff --git a/src/wayland/meta-wayland-shell-surface.c b/src/wayland/meta-wayland-shell-surface.c
index b5f3acacf..c1e2bd7c1 100644
--- a/src/wayland/meta-wayland-shell-surface.c
+++ b/src/wayland/meta-wayland-shell-surface.c
@@ -42,21 +42,12 @@ meta_wayland_shell_surface_calculate_geometry (MetaWaylandShellSurface *shell_su
     META_WAYLAND_SURFACE_ROLE (shell_surface);
   MetaWaylandSurface *surface =
     meta_wayland_surface_role_get_surface (surface_role);
-  MetaWaylandBuffer *buffer;
-  CoglTexture *texture;
   MetaRectangle geometry;
   GList *l;
 
-  buffer = surface->buffer_ref.buffer;
-  if (!buffer)
-    return;
-
-  texture = meta_wayland_buffer_get_texture (buffer);
   geometry = (MetaRectangle) {
-    .x = 0,
-    .y = 0,
-    .width = cogl_texture_get_width (texture) / surface->scale,
-    .height = cogl_texture_get_height (texture) / surface->scale,
+    .width = meta_wayland_surface_get_width (surface),
+    .height = meta_wayland_surface_get_height (surface),
   };
 
   for (l = surface->subsurfaces; l; l = l->next)
diff --git a/src/wayland/meta-wayland-subsurface.c b/src/wayland/meta-wayland-subsurface.c
index 2a42305f6..e0fa0a48b 100644
--- a/src/wayland/meta-wayland-subsurface.c
+++ b/src/wayland/meta-wayland-subsurface.c
@@ -152,21 +152,14 @@ meta_wayland_subsurface_union_geometry (MetaWaylandSubsurface *subsurface,
   MetaWaylandSurfaceRole *surface_role = META_WAYLAND_SURFACE_ROLE (subsurface);
   MetaWaylandSurface *surface =
     meta_wayland_surface_role_get_surface (surface_role);
-  MetaWaylandBuffer *buffer;
-  CoglTexture *texture;
   MetaRectangle geometry;
   GList *l;
 
-  buffer = surface->buffer_ref.buffer;
-  if (!buffer)
-    return;
-
-  texture = meta_wayland_buffer_get_texture (buffer);
   geometry = (MetaRectangle) {
     .x = surface->offset_x + surface->sub.x,
     .y = surface->offset_y + surface->sub.y,
-    .width = cogl_texture_get_width (texture) / surface->scale,
-    .height = cogl_texture_get_height (texture) / surface->scale,
+    .width = meta_wayland_surface_get_width (surface),
+    .height = meta_wayland_surface_get_height (surface),
   };
 
   meta_rectangle_union (out_geometry, &geometry, out_geometry);
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index 2646476f3..5ed3ca7e8 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -257,8 +257,6 @@ surface_process_damage (MetaWaylandSurface *surface,
                         cairo_region_t     *buffer_region)
 {
   MetaWaylandBuffer *buffer = surface->buffer_ref.buffer;
-  unsigned int buffer_width;
-  unsigned int buffer_height;
   cairo_rectangle_int_t surface_rect;
   cairo_region_t *scaled_region;
   int i, n_rectangles;
@@ -273,11 +271,9 @@ surface_process_damage (MetaWaylandSurface *surface,
   /* Intersect the damage region with the surface region before scaling in
    * order to avoid integer overflow when scaling a damage region is too large
    * (for example INT32_MAX which mesa passes). */
-  buffer_width = cogl_texture_get_width (buffer->texture);
-  buffer_height = cogl_texture_get_height (buffer->texture);
   surface_rect = (cairo_rectangle_int_t) {
-    .width = buffer_width / surface->scale,
-    .height = buffer_height / surface->scale,
+    .width = meta_wayland_surface_get_width (surface),
+    .height = meta_wayland_surface_get_height (surface),
   };
   cairo_region_intersect_rectangle (surface_region, &surface_rect);
 
@@ -1689,15 +1685,13 @@ meta_wayland_surface_calculate_input_region (MetaWaylandSurface *surface)
 {
   cairo_region_t *region;
   cairo_rectangle_int_t buffer_rect;
-  CoglTexture *texture;
 
   if (!surface->buffer_ref.buffer)
     return NULL;
 
-  texture = surface->buffer_ref.buffer->texture;
   buffer_rect = (cairo_rectangle_int_t) {
-    .width = cogl_texture_get_width (texture) / surface->scale,
-    .height = cogl_texture_get_height (texture) / surface->scale,
+    .width = meta_wayland_surface_get_width (surface),
+    .height = meta_wayland_surface_get_height (surface),
   };
   region = cairo_region_create_rectangle (&buffer_rect);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]