2.2.2.7.5 Client Window Snap PDU (TS_RAIL_ORDER_SNAP_ARRANGE)

The Client Window Snap PDU packet is sent from the client to the server when a local window is repositioned by the local window manager due to the use of a window arrangement feature, such as Snap or Snap Assist. The client communicates the new position of the local window to the server by sending this packet. The server uses this information to reposition the corresponding window using an equivalent window arrangement feature. This packet is only sent if the server has advertised support for the Window Snap feature in the HandshakeEx PDU (section 2.2.2.2.3); otherwise, a Client Window Move PDU (section 2.2.2.7.4) is sent instead.

Window positions sent using this packet SHOULD include hit-testable margins (see section 3.2.5.1.6).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Hdr

WindowId

Left

Top

Right

Bottom

Hdr (4 bytes): A TS_RAIL_PDU_HEADER header. The orderType field of the header MUST be set to TS_RAIL_ORDER_SNAP_ARRANGE (0x0017).

WindowId (4 bytes): An unsigned 32-bit integer. The ID of the window on the server corresponding to the local window that was snapped.

Left (2 bytes): A signed 16-bit integer. The x-coordinate of the top-left corner of the window's new position.

Top (2 bytes): A signed 16-bit integer. The y-coordinate of the top-left corner of the window's new position.

Right (2 bytes): A signed 16-bit integer. The x-coordinate of the bottom-right corner of the window's new position.

Bottom (2 bytes): A signed 16-bit integer. The y-coordinate of the bottom-right corner of the window's new position.