Jump to content

GreConvert: Difference between revisions

From EDM2
Created page with "GreConvert converts the specified coordinates from one coordinate space to another by using the current values of the transforms. This function can be hooked by the presenta..."
 
Line 30: Line 30:
== Returns ==
== Returns ==
; fSuccess (BOOL) - returns : This function returns BOOLEAN (fSuccess).  
; fSuccess (BOOL) - returns : This function returns BOOLEAN (fSuccess).  
 
:;TRUE : Successful  
*;TRUE : Successful  
:;FALSE : Error  
*;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:  
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:  
Line 41: Line 40:
* PMERR_INV_LENGTH_OR_COUNT  
* PMERR_INV_LENGTH_OR_COUNT  


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


== Sample ==
== Sample ==

Revision as of 16:28, 30 November 2019

GreConvert converts the specified coordinates from one coordinate space to another by using the current values of the transforms.

This function can be hooked by the presentation driver.

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

Syntax

GreConvert(hdc, lSrc, lDst, paptlPoint, cPoints, pInstance, lFunction);

Parameters

hdc (HDC) - input
Device context handle.
lSrc (LONG) - input
Source-coordinate space.
CVTC_WORLD
World-coordinate space
CVTC_MODEL
Model space
CVTC_DEFAULTPAGE
Default page-coordinate space
CVTC_PAGE
Page-coordinate space
CVTC_DEVICE
Device-coordinate space. Screen coordinates are 32-bit signed integers and are used by the presentation driver as screen pel addresses.
lDst (LONG) - input
Target-coordinate space. Defined by the same values as lSrc.
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.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreConvert.

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_HDC_BUSY
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_HDC
  • 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. */
LONG       lSrc;        /*  Source-coordinate space. */
LONG       lDst;        /*  Target-coordinate space.  Defined by the same values as lSrc. */
PPOINTL    paptlPoint;
LONG       cPoints;     /*  Count of coordinate pairs in the array. */
PVOID      pInstance;   /*  Pointer to instance data. */
ULONG      lFunction;   /*  High-order WORD=flags; low-order WORD=NGreConvert. */
BOOL       fSuccess;    /*  This function returns BOOLEAN (fSuccess). */

fSuccess = GreConvert(hdc, lSrc, lDst, paptlPoint,
             cPoints, pInstance, lFunction);