Jump to content

GreSetWindowViewportXform

From EDM2
Revision as of 17:20, 30 November 2019 by Martini (talk | contribs) (Martini moved page GreSetWindow to GreSetWindowViewportXform without leaving a redirect)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GreSetWindowViewportXform sets the window or viewport transform matrix elements as specified.

This function can be hooked by the presentation driver.

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

Syntax

GreSetWindowViewportXform(hdc, paXformData, flOptions, pInstance, lFunction);

Parameters

hdc (HDC) - input
Device context handle.
paXformData (PXFORM) - input
Pointer to an array.
Pointer to an array of six matrix elements for two-dimensional formation. These are M11, M12, M21, M22, M41, and M42.
flOptions (LONG) - input
Specifies how the supplied array should be used to set the matrix.
Valid values are:
  • SX_UNITY Set unity transform. Ignore array values.
  • SX_CAT_AFTER Concatenate after.
  • SX_CAT_BEFORE Concatenate before.
  • SX_OVERWRITE Overwrite.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreSetWindowViewportXform.

Returns

fSuccess (BOOL) - returns
Return codes.

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_BASE_ERROR
  • PMERR_COORDINATE_OVERFLOW
  • PMERR_DEV_FUNC_NOT_INSTALLED
  • PMERR_HDC_BUSY
  • PMERR_INSUFFICIENT_MEMORY
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_COORDINATE
  • PMERR_INV_HDC
  • PMERR_INV_HRGN
  • PMERR_INV_IN_AREA
  • PMERR_INV_IN_PATH
  • PMERR_INV_LENGTH_OR_COUNT
  • PMERR_INV_MATRIX_ELEMENT
  • PMERR_INV_PATTERN_REF_PT_ATTR
  • PMERR_INV_PICK_APERTURE_POSN
  • PMERR_INV_RECT
  • PMERR_INV_REGION_CONTROL
  • PMERR_INV_TRANSFORM_TYPE
  • PMERR_PATH_LIMIT_EXCEEDED

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. */
PXFORM    paXformData;  /*  Pointer to an array. */
LONG      flOptions;    /*  Specifies how the supplied array should be used to set the matrix. */
PVOID     pInstance;    /*  Pointer to instance data. */
ULONG     lFunction;    /*  High-order WORD=flags; low-order WORD=NGreSetWindowViewportXform. */
BOOL      fSuccess;     /*  Return codes. */

fSuccess = GreSetWindowViewportXform(hdc,
             paXformData, flOptions, pInstance,
             lFunction);