GreSetupDC

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

 * 1) define INCL_GRE_CLIP
 * 2) include 

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); 