GreSetViewingLimits
GreSetViewingLimits sets the boundaries of the viewing (clip) limits in model space to the specified values.
This function can be hooked by the presentation driver.
- Simulation support
- This function is simulated by a handling routine in the graphics engine.
Syntax
GreSetViewingLimits(hdc, prclViewingLimits, pInstance, lFunction)
Parameters
- hdc (HDC) - input
- Device context handle.
- prclViewingLimits (PRECTL) - input
- Pointer to limits of viewing area.
- RECTL structure:
- xLeft Minimum :X-coordinate of viewing limits
- yBottom Minimum: Y-coordinate
- xRight Maximum: X-coordinate of viewing limits
- yTop Maximum: Y-coordinate
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreSetViewingLimits.
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_HDC_BUSY
- PMERR_INV_COORDINATE
- PMERR_INV_GRAPHICS_FIELD
- PMERR_INV_HDC
- PMERR_INV_IN_AREA
- PMERR_INV_IN_PATH
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. */ PRECTL prclViewingLimits; /* Pointer to limits of viewing area. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreSetViewingLimits. */ BOOL fSuccess; /* Return codes. */ fSuccess = GreSetViewingLimits(hdc, prclViewingLimits, pInstance, lFunction);
Remarks
This function sets the boundaries of the viewing (clip) limits in model space to the specified values. The boundaries are inclusive and are not clipped. The viewing-limit coordinates are transformed to make a clipping rectangle in page-coordinate or device-coordinate space. Any rotation or shear of this rectangle is ignored. When the left boundary is greater than the right, or the bottom boundary is greater than the top, a NULL rectangle is defined and all points are clipped.