From 3559f892e4975ca915e90484df86793b40e2b703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 2 Apr 2015 15:13:51 +0800 Subject: [PATCH] xdg-shell: Further clarify xdg_surface.resize semantics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Ã…dahl Acked-by: Pekka Paalanen --- protocol/xdg-shell.xml | 29 +++++++++++++++++++++++++---- 1 file 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 @@ 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. @@ -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.