2.3.9.4 EmfPlusScaleWorldTransform Record

The EmfPlusScaleWorldTransform record performs a scaling on the current world space transform.


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

Sx

Sy

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

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

A

X

X

X

X

X

X

X

X

X

X

X

X

X

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

A (1 bit): If set, the transform matrix is post-multiplied. If clear, it is pre-multiplied.

Size (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes in the entire record, including the 12-byte record header and record-specific data. For this record type, the value MUST be 0x00000014.

DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of record-specific data that follows. For this record type, the value MUST be 0x00000008.

Sx (4 bytes): A floating-point value that defines the horizontal scale factor. The scaling is performed by constructing a new transform matrix from the Sx and Sy field values, as shown in the following table.

Scale Transform Matrix

Figure 4: Scale Transform Matrix

Sy (4 bytes): A floating-point value that defines the vertical scale factor.

See section 2.3.9 for the specification of additional transform record types.