Remove the weston_view.geometry.width/height fields
This has a couple of additional implications for the internal weston API:
1) weston_view_configure no longer exists. Use weston_view_set_position
instead.
2) The weston_surface.configure callback no longer takes a width and
height. If you need these, surface.width/height are set before
configure is called. If you need to know when the width/height
changes, you must track that yourself.
diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index c34fc1c..fbf6e49 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -777,8 +777,8 @@
pixman_region32_t r;
pixman_region32_init_rect(&r, 0, 0,
- ev->geometry.width,
- ev->geometry.height);
+ ev->surface->width,
+ ev->surface->height);
pixman_region32_subtract(&r, &r, &ev->surface->opaque);
if (!pixman_region32_not_empty(&r))
@@ -919,18 +919,18 @@
sx1 = 0;
if (sy1 < 0)
sy1 = 0;
- if (sx2 > wl_fixed_from_int(ev->geometry.width))
- sx2 = wl_fixed_from_int(ev->geometry.width);
- if (sy2 > wl_fixed_from_int(ev->geometry.height))
- sy2 = wl_fixed_from_int(ev->geometry.height);
+ if (sx2 > wl_fixed_from_int(ev->surface->width))
+ sx2 = wl_fixed_from_int(ev->surface->width);
+ if (sy2 > wl_fixed_from_int(ev->surface->height))
+ sy2 = wl_fixed_from_int(ev->surface->height);
tbox.x1 = sx1;
tbox.y1 = sy1;
tbox.x2 = sx2;
tbox.y2 = sy2;
- tbox = weston_transformed_rect(wl_fixed_from_int(ev->geometry.width),
- wl_fixed_from_int(ev->geometry.height),
+ tbox = weston_transformed_rect(wl_fixed_from_int(ev->surface->width),
+ wl_fixed_from_int(ev->surface->height),
ev->surface->buffer_viewport.transform,
ev->surface->buffer_viewport.scale,
tbox);
@@ -964,7 +964,7 @@
return NULL;
if (ev->surface->buffer_ref.buffer == NULL ||
!wl_shm_buffer_get(ev->surface->buffer_ref.buffer->resource) ||
- ev->geometry.width > 64 || ev->geometry.height > 64)
+ ev->surface->width > 64 || ev->surface->height > 64)
return NULL;
output->cursor_view = ev;
@@ -1003,9 +1003,9 @@
stride = wl_shm_buffer_get_stride(buffer->shm_buffer);
s = wl_shm_buffer_get_data(buffer->shm_buffer);
wl_shm_buffer_begin_access(buffer->shm_buffer);
- for (i = 0; i < ev->geometry.height; i++)
+ for (i = 0; i < ev->surface->height; i++)
memcpy(buf + i * 64, s + i * stride,
- ev->geometry.width * 4);
+ ev->surface->width * 4);
wl_shm_buffer_end_access(buffer->shm_buffer);
if (gbm_bo_write(bo, buf, sizeof buf) < 0)
@@ -1071,7 +1071,7 @@
if (c->use_pixman ||
(es->buffer_ref.buffer &&
(!wl_shm_buffer_get(es->buffer_ref.buffer->resource) ||
- (ev->geometry.width <= 64 && ev->geometry.height <= 64))))
+ (ev->surface->width <= 64 && ev->surface->height <= 64))))
es->keep_buffer = 1;
else
es->keep_buffer = 0;