2.3.9 Transform Record Types
The Transform Record Types specify properties and transforms on coordinate spaces. The following are EMF+ transform record types:
Name |
Section |
Description |
---|---|---|
EmfPlusMultiplyWorldTransform |
Multiplies the current world space transform by a specified transform matrix. |
|
EmfPlusResetWorldTransform |
Resets the current world space transform to the identify matrix. |
|
EmfPlusRotateWorldTransform |
Performs a rotation on the current world space transform. |
|
EmfPlusScaleWorldTransform |
Performs a scaling on the current world space transform. |
|
EmfPlusSetPageTransform |
Specifies scaling factors and units for converting page space coordinates to device space coordinates. |
|
EmfPlusSetWorldTransform |
Specifies the current world space transform according to the values in a specified transform matrix. |
|
EmfPlusTranslateWorldTransform |
Performs a translation on the current world space transform. |
The generic structure of EMF+ transform records is specified as follows:
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
Flags |
||||||||||||||||||||||||||||||
Size |
|||||||||||||||||||||||||||||||
DataSize |
|||||||||||||||||||||||||||||||
RecordData (variable) |
|||||||||||||||||||||||||||||||
... |
Type (2 bytes): An unsigned integer that identifies the record type. The transform record types are listed below. See the table above for descriptions of these records.
-
Name
Value
EmfPlusSetWorldTransform
0x402A
EmfPlusResetWorldTransform
0x402B
EmfPlusMultiplyWorldTransform
0x402C
EmfPlusTranslateWorldTransform
0x402D
EmfPlusScaleWorldTransform
0x402E
EmfPlusRotateWorldTransform
0x402F
EmfPlusSetPageTransform
0x4030
Flags (2 bytes): An unsigned integer that contains information for some records on how the operation is to be performed and on the structure of the record.
Size (4 bytes): An unsigned integer that defines the 32-bit-aligned size of the entire record in bytes, including the 12-byte record header and the record-specific data.
DataSize (4 bytes): An unsigned integer that defines the 32-bit-aligned number of bytes of data in the RecordData field that follows. This number does not include the 12-byte record header.
RecordData (variable): An optional, variable-length array of bytes that, if present, defines the data specific to individual records. For specifications of the additional information, if any, which is contained within this field, see individual record definitions.