GpiRectVisible
Appearance
This function checks whether any part of a rectangle lies within the clipping region of the device associated with the specified presentation space.
Syntax
GpiRectVisible(hps, prclRectangle)
Parameters
- hps (HPS) - input
- Presentation-space handle.
- prclRectangle (PRECTL) - input
- Test rectangle, in world coordinates.
- Points on the borders of the rectangle are considered to be included within the rectangle.
Return Value
- lVisibility (LONG) - returns
- Visibility indicator.
- RVIS_INVISIBLE
- Not visible
- RVIS_PARTIAL
- Some of the rectangle is visible
- RVIS_VISIBLE
- All of the rectangle is visible
- RVIS_ERROR
- Error.
Remarks
For the purposes of this function, the clipping region is defined as the intersection between the application clipping region and any other clipping, including windowing.
Errors
Possible returns from WinGetLastError:
- PMERR_INV_HPS (0x207F)
- An invalid presentation-space handle was specified.
- PMERR_PS_BUSY (0x20F4)
- An attempt was made to access the presentation space from more than one thread simultaneously.
- PMERR_INV_COORDINATE (0x205B)
- An invalid coordinate value was specified.
- PMERR_INV_RECT (0x20BD)
- An invalid rectangle parameter was specified.
Example Code
#define INCL_GPIPRIMITIVES /* Or use INCL_GPI, INCL_PM, */ #include <os2.h> HPS hps; /* Presentation-space handle. */ PRECTL prclRectangle; /* Test rectangle, in world coordinates. */ LONG lVisibility; /* Visibility indicator. */ lVisibility = GpiRectVisible(hps, prclRectangle);
In this example the GpiRectVisible call is used to determine if all of the rectangle is visible.
#define INCL_GPIPRIMITIVES #include <OS2.H> HPS hps; /* presentation-space handle. */ LONG lVisibility; /* visibility indicator */ PRECTL prclRectangle; /* test rectangle in world */ /* coordinates. */ lVisibility = GpiRectVisible(hps, prclRectangle); if (lVisibility == RVIS_INVISIBLE) /* rectangle is not */ { /* visible. */ /* code block */ }