2.2.7.2.7 Large Pointer Capability Set (TS_LARGE_POINTER_CAPABILITYSET)

The TS_LARGE_POINTER_CAPABILITYSET structure is used to specify capabilities related to large mouse pointer shape support. This capability is sent by both client and server.

To support large pointer shapes, the client and server MUST support multifragment updates and indicate this support by exchanging the Multifragment Update Capability Set (section 2.2.7.2.6). The MaxRequestSize field of the Multifragment Update Capability Set MUST be set based on the flags included in the largePointerSupportFlags field. If only the LARGE_POINTER_FLAG_96x96 (0x00000001) flag is specified, then the MaxRequestSize field MUST be set to at least 38,055 bytes (so that a 96 x 96 pixel 32bpp pointer can be transported). If the LARGE_POINTER_FLAG_384x384 (0x00000002) flag is included, then the MaxRequestSize MUST be set to at least 608,299 bytes (so that a 384 x 384 pixel 32bpp pointer can be transported).


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

capabilitySetType

lengthCapability

largePointerSupportFlags

capabilitySetType (2 bytes): A 16-bit, unsigned integer. Type of the capability set. This field MUST be set to CAPSETTYPE_LARGE_POINTER (27).

lengthCapability (2 bytes): A 16-bit, unsigned integer. The length in bytes of the capability data, including the size of the capabilitySetType and lengthCapability fields.

largePointerSupportFlags (2 bytes): Support for large pointer shapes.

Flag

Meaning

LARGE_POINTER_FLAG_96x96

0x00000001

Mouse pointer shapes of up to 96x96 pixels in size are supported.

LARGE_POINTER_FLAG_384x384

0x00000002

Mouse pointer shapes of up to 384x384 pixels in size, and the Fast-Path Large Pointer Update (section 2.2.9.1.2.1.11), are supported.

Mouse pointer shapes are used by the following pointer updates:

The pointer shape data is contained within the AND and XOR masks encapsulated in each of these updates.