2.3.11.7 EMR_SCALEVIEWPORTEXTEX Record
The EMR_SCALEVIEWPORTEXTEX record specifies the current viewport in the playback device context by using ratios formed by the specified multiplicands and divisors.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
|||||||||||||||||||||||||||||||
Size |
|||||||||||||||||||||||||||||||
xNum |
|||||||||||||||||||||||||||||||
xDenom |
|||||||||||||||||||||||||||||||
yNum |
|||||||||||||||||||||||||||||||
yDenom |
Type (4 bytes): An unsigned integer that identifies this record type as EMR_SCALEVIEWPORTEXTEX. This value is 0x0000001F.
Size (4 bytes): An unsigned integer that specifies the size of this record in bytes.
xNum (4 bytes): A signed integer that specifies the horizontal multiplicand. Cannot be zero.
xDenom (4 bytes): A signed integer that specifies the horizontal divisor. Cannot be zero.
yNum (4 bytes): A signed integer that specifies the vertical multiplicand. Cannot be zero.
yDenom (4 bytes): A signed integer that specifies the vertical divisor. Cannot be zero.
The extent MUST NOT be changed if the current mapping mode (section 2.1.21) is fixed scale. Only MM_ISOTROPIC and MM_ANISOTROPIC are not fixed scale.
The new viewport extent is computed as follows.
-
xNewWE = (xOldWE * xNum) / xDenom yNewWE = (yOldWE * yNum) / yDenom
See section 2.3.11 for more state record types.