BRUSHOBJ structure (winddi.h)

The BRUSHOBJ structure contains three public members that describe a brush object.


typedef struct _BRUSHOBJ {
  ULONG iSolidColor;
  PVOID pvRbrush;
  FLONG flColorType;



Specifies the color index of a solid brush. This index has been translated to the target surface's palette. Drawing can proceed without realization of the brush. A value of 0xFFFFFFFF indicates that a nonsolid brush must be realized.


Pointer to the driver's realized brush.


Specifies an FLONG value containing flags that describe this brush object. This member can be a combination of any of the following values (only one of BR_HOST_ICM and BR_DEVICE_ICM can be set):

Value Meaning
BR_CMYKCOLOR When this bit is set, iSolidColor contains a 32-bit CMYK color value. Otherwise, iSolidColor contains a palette index or 0xFFFFFFFF.
BR_DEVICE_ICM The driver performs image color management for the brush color.
BR_HOST_ICM The driver need not perform image color management for the brush color because GDI (or the calling application) is responsible.


Drivers can call BRUSHOBJ_Xxx service routines to realize brushes or to find previously realized brushes.

If the iSolidColor member is 0xFFFFFFFF or the pvRbrush member is NULL, the driver must call the BRUSHOBJ_pvGetRbrush function to realize the brush.

If neither BR_HOST_ICM or BR_DEVICE_ICM are set, ICM is not enabled in the graphics engine or in the driver.

For a description of the FLONG data type, see GDI Data Types.


Header winddi.h (include Winddi.h)

See also