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.


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

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.