GreSetupDC
Appearance
GreSetupDC initializes the device context to the region determined by flOptions.
This function can be hooked by the presentation driver.
- Simulation support
- This function is simulated by a handling routine in the graphics engine.
Syntax
GreSetupDC(hdc, hrgnVis, xOrg, yOrg, prclBounds, flOptions, pInstance, lFunction);
Parameters
- hdc (HDC) - input
- Device context handle.
- hrgnVis (HRGN) - input
- Visible region handle.
- xOrg (LONG) - input
- X-coordinate of DC origin, specified in screen coordinates.
- yOrg (LONG) - input
- Y-coordinate of DC origin, specified in screen coordinates.
- prclBounds (PRECTL) - input
- Bounding rectangle in device coordinates.
- flOptions (ULONG) - input
- Option flags.
- These flags determine the region returned in prclBounds:
- SETUPDC_VISRGN Replace the contents of the visible region of hdc with the contents of hrgnVis.
- SETUPDC_ORIGIN Set the DC origin to (xOrg, yOrg).
- SETUPDC_ACCUMBOUNDSON Turn on bounds accumulation. This only affects the COM_ALT_BOUND flag. If COM_ALT_BOUND (see page Calling Conventions) is not set, the bounds rectangle is reset to an empty rectangle. If COM_ALT_BOUND is already set, the bounds rectangle is not changed.
- SETUPDC_ACCUMBOUNDSOFF Turn off bounds accumulation.
- SETUPDC_REALCLIP Recalculate the true device clipping region. This bit is normally set, but can be 0 when immediate recalculation is not required.
- SETUPDC_SETOWNER When this bit is set, the DC must belong to the current process.
- SETUPDC_CLEANDC When this bit is set, the simulation marks the visible regions as valid and calls GreNotifyClipChange in the presentation driver.
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreSetupDC.
Return Code
- 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_COORDINATE_OVERFLOW
- PMERR_DEV_FUNC_NOT_INSTALLED
- PMERR_HDC_BUSY
- PMERR_HRGN_BUSY
- PMERR_INSUFFICIENT_MEMORY
- PMERR_INV_COORD_SPACE
- PMERR_INV_COORDINATE
- PMERR_INV_HDC
- PMERR_INV_HRGN
- PMERR_INV_LENGTH_OR_COUNT
- PMERR_INV_RECT
- PMERR_INV_REGION_CONTROL
- PMERR_REGION_IS_CLIP_REGION
- Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.
Declaration
#define INCL_GRE_CLIP #include <os2.h> HDC hdc; /* Device context handle. */ HRGN hrgnVis; /* Visible region handle. */ LONG xOrg; /* X-coordinate of DC origin, specified in screen coordinates. */ LONG yOrg; /* Y-coordinate of DC origin, specified in screen coordinates. */ PRECTL prclBounds; /* Bounding rectangle in device coordinates. */ ULONG flOptions; /* Option flags. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreSetupDC. */ BOOL fSuccess; /* Return codes. */ fSuccess = GreSetupDC(hdc, hrgnVis, xOrg, yOrg, prclBounds, flOptions, pInstance, lFunction);