#define TRANSFORM_CTM 4107 |
short Control(lpDevice, TRANSFORM_CTM, lpMatrix, NULL) | |||
LPPDEVICE lpDevice; | |||
LPLONG lpMatrix; |
The TRANSFORM_CTM escape modifies the current transformation matrix (CTM). The CTM controls the manner in which coordinates are translated, rotated, and scaled by the device. By using matrixes, you can combine these operations in any order to produce the desired mapping for a particular image.
The new current transformation matrix will contain the product of the matrix referenced by the lpMatrix parameter and the previous CTM (CTM = M * CTM).
lpDevice
Points to a PDEVICE structure specifying the destination device.
lpMatrix
Points to a three-by-three array of 32-bit fixed values specifying the new transformation matrix.
The return value is TRUE if the escape is successful. Otherwise, it is FALSE.
Applications should not make any assumptions about the initial value of the CTM.
When a driver transforms a primitive using a transformation matrix modified by the application, it should ignore the clipping rectangle specified by GDI. Applications should specify the desired clipping rectangle using the SET_CLIP_BOX escape.
Drivers supporting this escape must also implement the SET_CLIP_BOX, SAVE_CTM, and RESTORE_CTM escapes.