2.3.1.2 META_DIBBITBLT Record

The META_DIBBITBLT Record specifies the transfer of a block of pixels in device-independent format according to a raster operation.

The destination of the transfer is the current output region in the playback device context.

There are two forms of META_DIBBITBLT, one which specifies a device-independent bitmap (DIB) as the source, and the other which uses the playback device context as the source. Definitions follow for the fields that are the same in the two forms of META_DIBBITBLT. The subsections that follow specify the packet structures of the two forms of META_DIBBITBLT.

RecordSize: A 32-bit unsigned integer that defines the number of 16-bit WORD structures, defined in [MS-DTYP] section 2.2.61, in the record.

RecordFunction: A 16-bit unsigned integer that defines this WMF record type. The low-order byte MUST match the low-order byte of the RecordType Enumeration (section 2.1.1.1) table value META_DIBBITBLT.

RasterOperation: A 32-bit unsigned integer that defines how the source pixels, the current brush in the playback device context, and the destination pixels are to be combined to form the new image. This code MUST be one of the values in the Ternary Raster Operation Enumeration (section 2.1.1.31).

YSrc: A 16-bit signed integer that defines the y-coordinate, in logical units, of the source rectangle.

XSrc: A 16-bit signed integer that defines the x-coordinate, in logical units, of the source rectangle.

Height: A 16-bit signed integer that defines the height, in logical units, of the source and destination rectangles.

Width: A 16-bit signed integer that defines the width, in logical units, of the source and destination rectangles.

YDest: A 16-bit signed integer that defines the y-coordinate, in logical units, of the upper-left corner of the destination rectangle.

XDest: A 16-bit signed integer that defines the x-coordinate, in logical units, of the upper-left corner of the destination rectangle.

The RecordSize and RecordFunction fields SHOULD be used to differentiate between the two forms of META_DIBBITBLT. If the following Boolean expression is TRUE, a source DIB is not specified in the record.

 RecordSize == ((RecordFunction >> 8) + 3)

See section 2.3.1 for the specification of additional bitmap records.

Show: