2.2.2.2.1.3.4 Create NineGrid Bitmap (CREATE_NINEGRID_BITMAP_ORDER)

The Create NineGrid Bitmap Alternate Secondary Drawing Order is used by the server to instruct the client to create a NineGrid bitmap of a particular width and height in the NineGrid Bitmap Cache (the color depth MUST be 32 bpp). Support for NineGrid drawing is specified in the DrawNineGrid Cache Capability Set (section 2.2.1.2).


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

header

BitmapBpp

BitmapId

cx

cy

nineGridInfo (16 bytes)

...

...

header (1 byte): An Alternate Secondary Order Header, as defined in section 2.2.2.2.1.3.1.1. The embedded orderType field MUST be set to TS_ALTSEC_CREATE_NINEGRID_BITMAP (0x04).

BitmapBpp (1 byte): An 8-bit, unsigned integer. The color depth in bits per pixel of the NineGrid bitmap to create. Currently, all NineGrid bitmaps are sent in 32 bpp, so this field MUST be set to 0x20.

BitmapId (2 bytes): A 16-bit, unsigned integer. The index of the NineGrid Bitmap Cache entry wherein the bitmap and NineGrid transformation information MUST be stored. This value MUST be greater than or equal to 0 and less than the maximum number of entries allowed in the NineGrid Bitmap Cache as specified by the drawNineGridCacheEntries field of the DrawNineGrid Cache Capability Set (section 2.2.1.2).

cx (2 bytes): A 16-bit, unsigned integer. The width in pixels of the NineGrid bitmap to create.

cy (2 bytes): A 16-bit, unsigned integer. The height in pixels of the NineGrid bitmap to create.

nineGridInfo (16 bytes): A NineGrid Bitmap Information (section 2.2.2.2.1.3.4.1) structure that describes properties of the NineGrid bitmap to be created.