From db22c13c4fab70042adf6c6f273e95b766bc224d Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Fri, 29 Jun 2018 17:53:21 +0200 Subject: [PATCH] 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);