Jump to content

GrePtVisible

From EDM2
Revision as of 18:09, 7 February 2020 by Martini (talk | contribs) (Created page with "GrePtVisible checks whether a point is visible within the DC region of the specified device context. The "DC region" is defined as the intersection of the application clipping...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GrePtVisible checks whether a point is visible within the DC region of the specified device context. The "DC region" is defined as the intersection of the application clipping and the window clipping.

This function can be hooked by the presentation driver.

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

Syntax

GrePtVisible(hdc, pptlPoint, pInstance, lFunction);

Parameters

hdc (HDC) - input
Device context handle.
pptlPoint (PPOINTL) - input
Pointer to (X,Y) point in world or screen coordinates.
If COM_TRANSFORM is not set, the function expects the point to be in screen coordinates.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGrePtVisible.

Return Code

rc (LONG) - returns
Return codes.
This function returns an integer (lVisible) indicating the visibility of the point:
  • PVIS_ERROR Error
  • PVIS_INVISIBLE Not visible
  • PVIS_VISIBLE Visible
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_DEV_FUNC_NOT_INSTALLED
  • PMERR_HDC_BUSY
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_COORDINATE
  • PMERR_INV_HDC
  • PMERR_INV_LENGTH_OR_COUNT
  • PMERR_INV_RECT
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Sample Code

#define INCL_GRE_CLIP
#include <os2.h>

HDC        hdc;        /*  Device context handle. */
PPOINTL    pptlPoint;  /*  Pointer to (X,Y) point in world or screen coordinates. */
PVOID      pInstance;  /*  Pointer to instance data. */
ULONG      lFunction;  /*  High-order WORD=flags; low-order WORD=NGrePtVisible. */
LONG       rc;         /*  Return codes. */

rc = GrePtVisible(hdc, pptlPoint, pInstance, lFunction);