DIB_BitBlt


BOOL DIB_BitBlt(LPPDEVICE lpDestDev, WORD wDestX, WORD wDestY,
    LPPDEVICE lpSrcDev, WORD wSrcX, WORD wSrcY, WORD wXext,  WORD wYext,
    long Rop3, LPBRUSH lpPBrush, LPDRAWMODE lpDrawMode)

Transfers bits from a rectangle on a source device to a rectangle having the same dimensions on a destination device. The transfer is controlled by a ternary raster operation value that specifies how corresponding bits from the source, destination, and pattern in a brush are combined to form the final bits in the destination.

lpDestDev

Address of PDEVICE or PBITMAP structure specifying the destination device or bitmap.

wDestX and wDestY

The x- and y-coordinates (in device units) of the origin of the rectangle on the destination device to receive the transferred bits.

lpSrcDev

Address of PDEVICE or PBITMAP structure specifying the source device or bitmap.

wSrcX and wSrcY

The x- and y-coordinates in device units of the origin (the upper-left corner) of the rectangle on the source device containing the bits to transfer.

wXext and wYext

The width and height in device units of the rectangles on both the source and destination devices.

Rop3

Specifies a ternary raster-operation value. This value determines how BitBlt combines corresponding pixels from the source, destination, and brush to produce the final pixels in the destination rectangle. The Rop3 parameter can be any one of 256 ternary raster-operation values. The following table lists the most common values.

Value

Meaning

BLACKNESS (0x00000042)

Set all destination bits to black.

DSTINVERT (0x00550009)

Copy the inverse of the destination bits: Destination = ~ Destination.

MERGECOPY (0x00C000CA)

Combine the source and brush bits using the bitwise AND operator: Destination = Source & Pattern.

MERGEPAINT (0x00BB0226)

Combine the destination and inverse of the source bits using the bitwise OR operator: Destination = (~ Source) | Destination.

NOTSRCCOPY (0x00330008)

Copy the inverse of the destination bits to the destination rectangle: Destination = ~ Destination.

NOTSRCERASE (0x001100A6)

Combine the inverse of the source and destination bits using the bitwise AND operator: Destination = (~ Source) & (~ Destination).

PATCOPY (0x00F00021)

Copy the brush bits to the destination rectangle: Destination = Pattern.

PATINVERT (0x005A0049)

Combine the pattern and destination bits using the bitwise exclusive OR operator: Destination = Pattern ^ Destination.

PATPAINT (0x00FB0A09)

Combine the destination, pattern, and the inverse of source bits using the bitwise OR operator: Destination = (~ Source) | Pattern | Destination.

SRCAND (0x008800C6)

Combine the source and destination bits using the bitwise AND operator: Destination = Source & Destination.

SRCCOPY (0x00CC0020)

Copy source bits to the destination rectangle: Destination = Source.

SRCERASE (0x00440328)

Combine the source and inverse of destination bits using the bitwise AND operator: Destination = Source & (~ Destination).

SRCINVERT (0x00660046)

Combine the source and destination bits using the bitwise exclusive OR operator: Destination = Source ^ Destination.

SRCPAINT (0x00EE0086)

Combine the source and destination bits using the bitwise OR operator: Destination = Source | Destination.

WHITENESS (0x00FF0062)

Set all bits to white.


lpPBrush

Address of a PBRUSH structure specifying a physical brush. BitBlt uses this brush only if the Rop3 parameter specifies a ternary raster operation that requires the brush to be combined with the source, destination, or both.

lpDrawMode

Address of a DRAWMODE structure specifying the color information BitBlt needs to determine patterned brush colors and to carry color conversions and transparent copy operations.

The export ordinal for this function is 1.