## Presentation Device Driver Reference for OS/2

[prev][next][parent][TOC]

### GreNotifyTransformChange - Parameters

hdc (HDC) - input Device context handle.

flFlags (ULONG) - input Flags.

A set of flags that pass information regarding the complexity of the 2x2 matrix of the M11, M12, M21, and M22 components (of the composite transform from world coordinates to device coordinates). These flags indicate if a translation is required. If the MATRIX_SIMPLE flag is not set, none of the other flags are valid.

MATRIX_SIMPLE Two entries are 0.
MATRIX_UNITS All entries are +1 or -1.
MATRIX_XY_EXCHANGE Zeros are on the diagonal.
MATRIX_X_NEGATE X is hit by negative (see Note).
MATRIX_Y_NEGATE Y is hit by negative (see Note).
MATRIX_TRANSLATION Non-zero translation.

Note: MATRIX_X_NEGATE and MATRIX_Y_NEGATE are only meaningful when both MATRIX_SIMPLE and MATRIX_UNITS are set.

Examples:

    Matrix = { 1.0, 0.0, 0.0, 1.0, 0, 0 } =>

    Flags = MATRIX_SIMPLE | MATRIX_UNITS

    Matrix = { 1.0, 0.0, 0.0, 1.0, 5, 10 } =>

    Flags = MATRIX_SIMPLE | MATRIX_UNITS | MATRIX_TRANSLATION

    Matrix = { 0.0, -1.0, 1.0, 0.0, 17, 5 } =>

    Flags = MATRIX_SIMPLE | MATRIX_UNITS | MATRIX_XY_EXCHANGE |

    MATRIX_Y_NEGATE | MATRIX_TRANSLATION

pXformdata (PNOTIFYTRANSFORMDATA) - input Pointer to NOTIFYTRANSFORMDATA structure:

usType Indicates fixed-point notation
xform XFORM data structure contains fixed-point values
fxM11 Fixed-point matrix elements
fxM12 Fixed-point matrix elements
fxM21 Fixed-point matrix elements
fxM22 Fixed-point matrix elements
lM41 Long translations
lM42 Long translations

pInstance (PVOID) - input Pointer to instance data.

lFunction (ULONG) - input High-order WORD=flags; low-order WORD= NGreNotifyTransformChange.

rc (BOOL) - returns Return Code.

On completion, the handling routine must return a BOOLEAN value to indicate success or an error.

TRUE Successful
FALSE Error

Possible Errors Detected: When an error is detected, the handling routine must call WinSetErrorInfo to post the condition. Error codes for conditions that the handling routine is expected to check include:

PMERR_BASE_ERROR
PMERR_COORDINATE_OVERFLOW
PMERR_DEV_FUNC_NOT_INSTALLED
PMERR_HDC_BUSY
PMERR_INV_COORD_SPACE
PMERR_INV_HDC
PMERR_INV_IN_AREA
PMERR_INV_IN_PATH
PMERR_INV_LENGTH_OR_COUNT
PMERR_INV_PATTERN_REF_PT_ATTR
PMERR_INV_PICK_APERTURE_POSN
PMERR_PATH_LIMIT_EXCEEDED

Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.