Implement output transformations.
This patch allows rotation and mirroring outputs for x11 and drm backends.
A new 'transform' key can be set in the [output] section. From the protocol:
"The flipped values correspond to an initial flip around a vertical axis
followed by rotation."
The transform key can be one of the following 8 strings:
normal
90
180
270
flipped
flipped-90
flipped-180
flipped-270
diff --git a/src/compositor.h b/src/compositor.h
index b8e767d..ac887ee 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -155,7 +155,8 @@
struct weston_compositor *compositor;
struct weston_matrix matrix;
struct wl_list animation_list;
- int32_t x, y, mm_width, mm_height;
+ int32_t x, y, width, height;
+ int32_t mm_width, mm_height;
struct weston_border border;
pixman_region32_t region;
pixman_region32_t previous_damage;
@@ -678,7 +679,7 @@
weston_output_move(struct weston_output *output, int x, int y);
void
weston_output_init(struct weston_output *output, struct weston_compositor *c,
- int x, int y, int width, int height);
+ int x, int y, int width, int height, uint32_t transform);
void
weston_output_destroy(struct weston_output *output);