Jump to content

GreConvertWithMatrix

From EDM2
Revision as of 19:12, 17 January 2020 by Martini (talk | contribs) (Created page with "GreConvertWithMatrix converts a series of points by using the indicated matrix. Other current transform matrixes are ignored. This function can be hooked by the presentation...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GreConvertWithMatrix converts a series of points by using the indicated matrix. Other current transform matrixes are ignored.

This function can be hooked by the presentation driver.

Simulation support
This function is simulated by a handling routine in the graphics engine.

Syntax

GreConvertWithMatrix(hdc, paptlPoint, cPoints, paXform, pInstance, lFunction);

Parameters

hdc (HDC) - input
Device context handle.
paptlPoint (PPOINTL) - input
Pointer to array of (X,Y) coordinates to transform. The result is also returned to this parameter.
cPoints (LONG) - input
Count of coordinate pairs in the array.
paXform (PXFORM) - input
Pointer to an array of six matrix elements for two-dimensional formation. These are M11, M12, M21, M22, M41, and M42.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreConvertWithMatrix.

Returns

fSuccess (BOOL) - returns
This function returns BOOLEAN (fSuccess).
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_COORDINATE_OVERFLOW
  • PMERR_INV_LENGTH_OR_COUNT
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Sample

#define INCL_GRE_XFORMS
#include <os2.h>

HDC        hdc;         /*  Device context handle. */
PPOINTL    paptlPoint;
LONG       cPoints;     /*  Count of coordinate pairs in the array. */
PXFORM     paXform;
PVOID      pInstance;   /*  Pointer to instance data. */
ULONG      lFunction;   /*  High-order WORD=flags; low-order WORD=NGreConvertWithMatrix. */
BOOL       fSuccess;    /*  This function returns BOOLEAN (fSuccess). */

fSuccess = GreConvertWithMatrix(hdc, paptlPoint,
             cPoints, paXform, pInstance,
             lFunction);