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 |
); |
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. |
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. |
If the function fails, the return value is zero. To get extended error information, call GetLastError.
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.