SetBoundsRect  SGOPSF 

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 RECTEZENA2 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

GetBoundsRect, RECT