DrvCopyBits

This function translates between device-managed raster surfaces and GDI standard-format bitmaps.

Syntax

BOOL DrvCopyBits( OUT SURFOBJ *psoDst, IN SURFOBJ *psoSrc,
IN CLIPOBJ *
pco, IN XLATEOBJ *pxlo, IN RECTL *prclDst,
IN POINTL *
pptlSrc );

Parameters

psoDst
Pointer to the destination surface for the copy operation.
psoSrc
Pointer to the source surface for the copy operation.
pco
Pointer to a Error! Bookmark not defined. structure that defines a clipping region on the destination surface.
pxlo
Pointer to a Error! Bookmark not defined. structure that defines the translation of color indices between the source and target surfaces.
prclDst
Points to a RECTL structure that defines the area to be modified. This structure uses the coordinate system of the destination surface. The bottom and right edges of this rectangle are not part of the bit-block transfer ( blit ); that is, the rectangle is bottom-right exclusive.

This function is never called with an empty destination rectangle. The two points that define the rectangle are always well ordered.

pptlSrc
Pointer to a POINTL structure that defines the top left corner of the source rectangle.

Return Values

TRUE indicates success.

Remarks

This function is required for a device driver that has device-managed bitmaps or raster surfaces. The implementation in the driver must translate driver surfaces to and from any standard-format bitmap.

Standard-format bitmaps are single-plane, packed-pixel format. Each scan line is aligned on a 4-byte boundary. These bitmaps have 1, 4, 8, 16, 24, 32, or 64 bits per pixel.

This function should ideally be able to deal with run-length encloding ( RLE ) and device-dependent bitmaps. The device-dependent format is optional; only a few specialized drivers need to support it. These bitmaps can be sent to this function as a result of the following GDI functions: SetDIBits, SetDIBitsToDevice, GetDIBits, SetBitmapBits, and GetBitmapBits.

Kernel-mode GDI calls this function from its simulations.