diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2015-04-02 15:13:51 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2015-06-26 17:23:15 +0800 |
commit | 3559f892e4975ca915e90484df86793b40e2b703 (patch) | |
tree | fbcfe105e9aee36c504fcfce6919a62ea96a7fdb /protocol | |
parent | b317beb5e69b1cbea5b0bf550df46b6eb7b64afa (diff) | |
download | weston-3559f892e4975ca915e90484df86793b40e2b703.tar.gz |
xdg-shell: Further clarify xdg_surface.resize semantics
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'protocol')
-rw-r--r-- | protocol/xdg-shell.xml | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml index 4eeac92d..f98e760d 100644 --- a/protocol/xdg-shell.xml +++ b/protocol/xdg-shell.xml @@ -267,9 +267,7 @@ <enum name="resize_edge"> <description summary="edge values for resizing"> These values are used to indicate which edge of a surface - is being dragged in a resize operation. The server may - use this information to adapt its behavior, e.g. choose - an appropriate cursor image. + is being dragged in a resize operation. </description> <entry name="none" value="0"/> <entry name="top" value="1"/> @@ -287,10 +285,33 @@ Start a user-driven, interactive resize of the surface. This request must be used in response to some sort of user action - like a button press, key press, or touch down event. + like a button press, key press, or touch down event. The passed + serial is used to determine the type of interactive resize (touch, + pointer, etc). The server may ignore resize requests depending on the state of the surface (e.g. fullscreen or maximized). + + If triggered, the client will receive configure events with the + "resize" state enum value and the expected sizes. See the "resize" + enum value for more details about what is required. The client + must also acknowledge configure events using "ack_configure". After + the resize is completed, the client will receive another "configure" + event without the resize state. + + If triggered, the surface also will lose the focus of the device + (wl_pointer, wl_touch, etc) used for the resize. It is up to the + compositor to visually indicate that the resize is taking place, + such as updating a pointer cursor, during the resize. There is no + guarantee that the device focus will return when the resize is + completed. + + The edges parameter specifies how the surface should be resized, + and is one of the values of the resize_edge enum. The compositor + may use this information to update the surface position for + example when dragging the top left corner. The compositor may also + use this information to adapt its behavior, e.g. choose an + appropriate cursor image. </description> <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat of the user event"/> <arg name="serial" type="uint" summary="the serial of the user event"/> |