The SetBoundsRect function controls the accumulation of bounding rectangle information for the specified device context. Windows can maintain a bounding rectangle for all drawing operations. An application can examine and set this rectangle. The drawing boundaries are useful for invalidating bitmap caches.
UINT SetBoundsRect(
HDC hdc, | // handle of device context |
CONST RECT *lprcBounds, | // address of rectangle coordinates |
UINT flags | // controls rectangle combination |
); |
Parameters
hdc
Identifies the device context for which to accumulate bounding rectangles.
lprcBounds
Points to a RECT structure used to set the bounding rectangle. Rectangle dimensions are in logical coordinates. This parameter can be NULL.
flags
Specifies how the new rectangle will be combined with the accumulated rectangle. This parameter can be a combination of the following values:
Value | Description |
DCB_ACCUMULATE | Adds the rectangle specified by the lprcBounds parameter to the bounding rectangle (using a rectangle union operation). Using both DCB_RESET and DCB_ACCUMULATE sets the bounding rectangle to the rectangle specified by the lprcBounds parameter. |
DCB_DISABLE | Turns off boundary accumulation. |
DCB_ENABLE | Turns on boundary accumulation, which is disabled by default. |
DCB_RESET | Clears the bounding rectangle. |
Return Values
If the function succeeds, the return value specifies the previous state of the bounding rectangle. This state can be a combination of the following values:
Value | Meaning |
DCB_DISABLE | Boundary accumulation is off. |
DCB_ENABLE | Boundary accumulation is on. DCB_ENABLE and DCB_DISABLE are mutually exclusive. |
DCB_RESET | Bounding rectangle is empty. |
DCB_SET | Bounding rectangle is not empty. DCB_SET and DCB_RESET are mutually exclusive. |
Remarks
The DCB_SET value is a combination of the bit values DCB_ACCUMULATE and DCB_RESET. Applications that check the DCB_RESET bit to determine whether the bounding rectangle is empty must also check the DCB_ACCUMULATE bit. The bounding rectangle is empty only if the DCB_RESET bit is 1 and the DCB_ACCUMULATE bit is 0.
See Also