mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-11-01 22:58:40 -04:00
Add wl_region and surface requests to set opaque and input regions
This commit is contained in:
parent
3c6f42112d
commit
1ba69d26e0
1 changed files with 76 additions and 0 deletions
|
|
@ -126,6 +126,13 @@
|
|||
</description>
|
||||
<arg name="id" type="new_id" interface="wl_surface"/>
|
||||
</request>
|
||||
|
||||
<request name="create_region">
|
||||
<description summary="create new region">
|
||||
Ask the compositor to create a new region.
|
||||
</description>
|
||||
<arg name="id" type="new_id" interface="wl_region"/>
|
||||
</request>
|
||||
</interface>
|
||||
|
||||
<interface name="wl_shm" version="1">
|
||||
|
|
@ -568,6 +575,40 @@
|
|||
<arg name="callback" type="new_id" interface="wl_callback"/>
|
||||
</request>
|
||||
|
||||
<request name="set_opaque_region">
|
||||
<description summary="set opaque region">
|
||||
This requests sets the region of the surface that contain
|
||||
opaque content. The opaque region is an optimization hint for
|
||||
the compositor that lets it optimize out redrawing of content
|
||||
behind opaque regions. Setting an opaque region is not
|
||||
required for correct behaviour, but marking transparent
|
||||
content as opaque will result in repaint artifacts.
|
||||
|
||||
The region will be clipped to the extents of the current
|
||||
surface size. Setting the region has copy semantics, and the
|
||||
region object can be destroyed immediately after setting the
|
||||
opaque region. If a buffer of a different size is attached or
|
||||
if a nil region is set, the opaque region will revert back to
|
||||
default. The default opaque region is empty.
|
||||
</description>
|
||||
|
||||
<arg name="region" type="object" interface="wl_region"/>
|
||||
</request>
|
||||
|
||||
<request name="set_input_region">
|
||||
<description summary="set input region">
|
||||
This requests sets the region of the surface that can receive
|
||||
pointer and touch events. The region will be clipped to the
|
||||
extents of the current surface size. Setting the region has
|
||||
copy semantics, and the region object can be destroyed
|
||||
immediately after setting the input region. If a buffer of a
|
||||
different size is attached or if a nil region is passed, the
|
||||
input region will revert back to default. The default input
|
||||
region is the entire surface.
|
||||
</description>
|
||||
|
||||
<arg name="region" type="object" interface="wl_region"/>
|
||||
</request>
|
||||
</interface>
|
||||
|
||||
<interface name="wl_input_device" version="1">
|
||||
|
|
@ -735,4 +776,39 @@
|
|||
</event>
|
||||
</interface>
|
||||
|
||||
<interface name="wl_region" version="1">
|
||||
<description summary="region interface">
|
||||
Region.
|
||||
</description>
|
||||
|
||||
<request name="destroy" type="destructor">
|
||||
<description summary="destroy region">
|
||||
Destroy the region. This will invalidate the object id.
|
||||
</description>
|
||||
</request>
|
||||
|
||||
<request name="add">
|
||||
<description summary="add rectangle to region">
|
||||
Add the specified rectangle to the region
|
||||
</description>
|
||||
|
||||
<arg name="x" type="int"/>
|
||||
<arg name="y" type="int"/>
|
||||
<arg name="width" type="int"/>
|
||||
<arg name="height" type="int"/>
|
||||
</request>
|
||||
|
||||
<request name="subtract">
|
||||
<description summary="subtract rectangle from region">
|
||||
Subtract the specified rectangle from the region
|
||||
</description>
|
||||
|
||||
<arg name="x" type="int"/>
|
||||
<arg name="y" type="int"/>
|
||||
<arg name="width" type="int"/>
|
||||
<arg name="height" type="int"/>
|
||||
</request>
|
||||
|
||||
</interface>
|
||||
|
||||
</protocol>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue