DIB_Brush

Specifies the attributes, mask, and bits of brushes for the DIB engine. There are separate structures for 1bpp, 4bpp, 8bpp, 16bpp, 24bpp, and 32bpp displays.

typedef struct {
    BYTE  dp1BrushFlags;
    BYTE  dp1BrushBpp;
    WORD  dp1BrushStyle;
    DWORD dp1FgColor;
    WORD  dp1Hatch;
    DWORD dp1BgColor;
    BYTE dp1BrushMono [BRUSHSIZE*4];
    BYTE dp1BrushMask [BRUSHSIZE*4];
    BYTE dp1BrushBits [BRUSHSIZE*4];
} DIB_Brush1;

typedef struct {
    BYTE  dp4BrushFlags;
    BYTE  dp4BrushBpp;
    WORD  dp4BrushStyle;
    DWORD dp4FgColor;
    WORD  dp4Hatch;
    DWORD dp4BgColor;
    BYTE dp4BrushMono [BRUSHSIZE*4];
    BYTE dp4BrushMask [BRUSHSIZE*4];
    BYTE dp4BrushBits [BRUSHSIZE*4];
} DIB_Brush4;

typedef struct {
    BYTE  dp8BrushFlags;
    BYTE  dp8BrushBpp;
    WORD  dp8BrushStyle;
    DWORD dp8FgColor;
    WORD  dp8Hatch;
    DWORD dp8BgColor;
    BYTE dp8BrushMono [BRUSHSIZE*4];
    BYTE dp8BrushMask [BRUSHSIZE*4];
    BYTE dp8BrushBits [BRUSHSIZE*8];
} DIB_Brush8;

typedef struct {
    BYTE  dp16BrushFlags;
    BYTE  dp16BrushBpp;
    WORD  dp16BrushStyle;
    DWORD dp16FgColor;
    WORD  dp16Hatch;
    DWORD dp16BgColor;
    BYTE dp16BrushMono [BRUSHSIZE*4];
    BYTE dp16BrushMask [BRUSHSIZE*4];
    BYTE dp16BrushBits [BRUSHSIZE*16];
} DIB_Brush16;

typedef struct {
    BYTE  dp24BrushFlags;
    BYTE  dp24BrushBpp;
    WORD  dp24BrushStyle;
    DWORD dp24FgColor;
    WORD  dp24Hatch;
    DWORD dp24BgColor;
    BYTE dp24BrushMono [BRUSHSIZE*4];
    BYTE dp24BrushMask [BRUSHSIZE*4];
    BYTE dp24BrushBits [BRUSHSIZE*24];
} DIB_Brush24;

typedef struct {
    BYTE  dp32BrushFlags;
    BYTE  dp32BrushBpp;
    WORD  dp32BrushStyle;
    DWORD dp32FgColor;
    WORD  dp32Hatch;
    DWORD dp32BgColor;
    BYTE dp32BrushMono [BRUSHSIZE*4];
    BYTE dp32BrushMask [BRUSHSIZE*4];
    BYTE dp32BrushBits [BRUSHSIZE*32];
} DIB_Brush32;
 

Members

dpxBrushFlags
Flags describing the brush. Must be one of the following.
COLORSOLID Color part is solid.
MONOSOLID Monochrome part is solid.
PATTERNMONO Pattern brush came from a monochrome bitmap.
MONOVALID Monochrome part is valid.
MASKVALID Transparency mask part is valid.
PRIVATEDATA Vendor specific bit for pens and brushes.

dpxBrushBpp
The number of bits per pixel. Must be 1, 4, 8, 16, 24, or 32.
dpxBrushStyle
Style of the brush. Must be one of the following.
Value Meaning
BS_SOLID (0) Solid brush.
BS_NULL (1) Same as BS_HOLLOW.
BS_HOLLOW (1) Hollow brush.
BS_HATCHED (2) Hatched brush.
BS_PATTERN (3) Pattern brush defined by a memory bitmap.
BS_INDEXED (4) Indexed brush.
BS_DIBPATTERN (5) A pattern brush defined by a device-independent bitmap (DIB) specification.
BS_DIBPATTERNPT (6) A pattern brush defined by a device-independent bitmap (DIB) specification.
BS_PATTERN8X8 (7) Same meaning as BS_PATTERN.
BS_DIBPATTERN8X8 (8) Same meaning as BS_DIBPATTERN.

dpxFgColor
Foreground color. For the dp8FgColor member of DIB_Brush8, the color is a logical color if the brush style is BS_SOLID or BS_PATTERN. If the brush style is BS_HATCHED, dp8FgColor contains a physical color.
dpxHatch
Specifies a hatch style. The meaning depends on the brush style defined by dpxBrushStyle.

If dpxBrushStyle is BS_DIBPATTERN, the dpxHatch member contains a handle to a packed DIB. If dpxBrushStyle is BS_DIBPATTERNPT, the dpxHatch member contains a pointer to a packed DIB.

If dpxBrushStyle is BS_HATCHED, the dpxHatch member specifies the orientation of the lines used to create the hatch. It can be one of the following values.
Value Meaning
HS_BDIAGONAL A 45-degree upward, left-to-right hatch
HS_CROSS Horizontal and vertical cross-hatch
HS_DIAGCROSS 45-degree crosshatch
HS_FDIAGONAL A 45-degree downward, left-to-right hatch
HS_HORIZONTAL Horizontal hatch
HS_VERTICAL Vertical hatch

If dpxBrushStyle is BS_PATTERN, dpxHatch is a handle to the bitmap that defines the pattern.

If dpxBrushStyle is BS_SOLID or BS_HOLLOW, dpxHatch is ignored.

dpxBgColor
Background color. This member is only used with BS_HATCHED style brushes and it is a physical color.
dpxBrushMono
Bits describing monochrome version of the brush.
dpxBrushMask
Bits describing the transparency mask (hatch pattern) portion of the brush.
dpxBrushBits
The bits describing the brush. The size is 8 rows by 8 columns with either 1, 4, 8, 16, 24, or 32 bits per pixel.