diff options
| author | Kristian Høgsberg <krh@bitplanet.net> | 2012-07-22 15:46:16 -0400 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-07-22 15:50:37 -0400 |
| commit | eadb68ec32df8ee54ccba175d19adcdedfaa5015 (patch) | |
| tree | cb7d0b4592f40482a140e323bfdaa1c1d634550f | |
| parent | connection: reserve id on incoming new object (diff) | |
| download | wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar.gz wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar.bz2 wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar.lz wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar.xz wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.tar.zst wayland-eadb68ec32df8ee54ccba175d19adcdedfaa5015.zip | |
protocol: Add transform argument to wl_output.geometry event
| -rw-r--r-- | TODO | 7 | ||||
| -rw-r--r-- | protocol/wayland.xml | 27 |
2 files changed, 27 insertions, 7 deletions
@@ -1,12 +1,5 @@ Core wayland protocol - - We need rotation information in the output (multiples of 90 - degrees) and we'll need a way for a client to communicate that it - has rendered its buffer according to the output rotation. The - goal is to be able to pageflip directly to the client buffer, and - for that we need the client to render accordingly and the - compositor needs to know that it did. - - Atomicity. Currently a lot of the atomicity in Wayland relies on how we batch up all requests in a protocol buffer and only flushes in the "blockhandler" in the client. Consensus was that we need diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 96ef2485..4b500e6d 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -1001,6 +1001,31 @@ <entry name="vertical_bgr" value="5"/> </enum> + <enum name="transform"> + <description summary="transform from framebuffer to output"> + This describes the transform that a compositor will apply to a + surface to compensate for the rotation or mirroring of an + output device. + + The flipped values correspond to an initial flip around a + vertical axis followed by rotaion. + + The purpose is mainly to allow clients render accordingly and + tell the compositor, so that for fullscreen surfaces, the + compositor will still be able to scan out directly from client + surfaces. + </description> + + <entry name="normal" value="0"/> + <entry name="90" value="1"/> + <entry name="180" value="2"/> + <entry name="270" value="3"/> + <entry name="flipped" value="4"/> + <entry name="flipped_90" value="5"/> + <entry name="flipped_180" value="6"/> + <entry name="flipped_270" value="7"/> + </enum> + <event name="geometry"> <description summary="properties of the output"/> <arg name="x" type="int" @@ -1017,6 +1042,8 @@ summary="textual description of the manufacturer"/> <arg name="model" type="string" summary="textual description of the model"/> + <arg name="transform" type="int" + summary="transform that maps framebuffer to output"/> </event> <enum name="mode"> |
