compositor: gather buffer_transform and _scale into a struct
Gather the variables affecting the coordinate transformations between
buffer and local coordinates into a new struct weston_buffer_viewport.
This will be more useful later, when the crop & scale extension is
implemented.
diff --git a/src/compositor.h b/src/compositor.h
index 8c19619..e445dc3 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -647,6 +647,14 @@
struct wl_listener destroy_listener;
};
+struct weston_buffer_viewport {
+ /* wl_surface.set_buffer_transform */
+ uint32_t transform;
+
+ /* wl_surface.set_scaling_factor */
+ int32_t scale;
+};
+
struct weston_region {
struct wl_resource *resource;
pixman_region32_t region;
@@ -693,10 +701,8 @@
struct wl_list frame_callback_list;
/* wl_surface.set_buffer_transform */
- uint32_t buffer_transform;
-
/* wl_surface.set_buffer_scale */
- int32_t buffer_scale;
+ struct weston_buffer_viewport buffer_viewport;
} cached;
int synchronized;
@@ -835,8 +841,7 @@
struct wl_list frame_callback_list;
struct weston_buffer_reference buffer_ref;
- uint32_t buffer_transform;
- int32_t buffer_scale;
+ struct weston_buffer_viewport buffer_viewport;
int keep_buffer; /* bool for backends to prevent early release */
/* All the pending state, that wl_surface.commit will apply. */
@@ -861,10 +866,8 @@
struct wl_list frame_callback_list;
/* wl_surface.set_buffer_transform */
- uint32_t buffer_transform;
-
/* wl_surface.set_scaling_factor */
- int32_t buffer_scale;
+ struct weston_buffer_viewport buffer_viewport;
} pending;
/*