2.3.8.2 EmfPlusSetTSGraphics Record

The EmfPlusSetTSGraphics record specifies the state of a graphics device context for a terminal server. <31>


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

Type

Flags

Size

DataSize

AntiAliasMode

TextRenderHint

CompositingMode

CompositingQuality

RenderOriginX

RenderOriginY

TextContrast

FilterType

PixelOffset

WorldToDevice (24 bytes)

...

...

...

Palette (variable)

...

Type (2 bytes): An unsigned integer that identifies this record type as EmfPlusSetTSGraphics from the RecordType enumeration. The value MUST be 0x4039.

Flags (2 bytes): An unsigned integer that provides information about how the operation is to be performed, and about the structure of the record.


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

X

X

X

X

X

X

X

X

X

X

X

X

X

X

V

T

X (1 bit): Reserved and MUST be ignored.

V (1 bit): If set, the palette contains only the basic VGA colors.

T (1 bit): If set, this record contains an EmfPlusPalette object in the Palette field following the graphics state data.

Size (4 bytes): An unsigned integer that specifies the 32-bit-aligned size of the entire record in bytes, including the 12-byte record header and record-specific data. This value MUST be 0x00000030 plus the size of the Palette field.

DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of record-specific data that follows. This value MUST be 0x00000024 plus the size of the Palette field.

AntiAliasMode (1 byte): An unsigned integer that specifies the quality of line rendering, including the type of line anti-aliasing. It is defined in the SmoothingMode enumeration.

TextRenderHint (1 byte): An unsigned integer that specifies the quality of text rendering, including the type of text anti-aliasing. It is defined in the TextRenderingHint enumeration.

CompositingMode (1 byte): An unsigned integer that specifies how source colors are combined with background colors. It MUST be a value in the CompositingMode enumeration.

CompositingQuality (1 byte): An unsigned integer that specifies the degree of smoothing to apply to lines, curves and the edges of filled areas to make them appear more continuous or sharply defined. It MUST be a value in the CompositingQuality enumeration.

RenderOriginX (2 bytes): A signed integer, which is the horizontal coordinate of the origin for rendering halftoning and dithering matrixes.

RenderOriginY (2 bytes): A signed integer, which is the vertical coordinate of the origin for rendering halftoning and dithering matrixes.

TextContrast (2 bytes): An unsigned integer that specifies the gamma correction value used for rendering anti-aliased and ClearType text. This value MUST be in the range 0 to 12, inclusive.

FilterType (1 byte): An unsigned integer that specifies how scaling, including stretching and shrinking, is performed. It MUST be a value in the FilterType enumeration.

PixelOffset (1 byte): An unsigned integer that specifies the overall quality of the image and text-rendering process. It MUST be a value in the PixelOffsetMode enumeration.

WorldToDevice (24 bytes): An 192-bit EmfPlusTransformMatrix object that specifies the world space to device space transforms.

Palette (variable): An optional EmfPlusPalette object.

See section 2.3.8 for the specification of additional terminal server record types.