DrvCopyBits

BOOL DrvCopyBits(

    OUT SURFOBJ *psoDst,

    IN SURFOBJ *psoSrc,

    IN CLIPOBJ *pco,

    IN XLATEOBJ *pxlo,

    IN RECTL *prclDst,

    IN POINTL *pptlSrc

   );

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

Parameters

psoDst
Points to the destination surface for the copy operation.
psoSrc
Points to the source surface for the copy operation.
pco
Points to a CLIPOBJ structure that defines a clipping region on the destination surface.
pxlo
Points to a XLATEOBJ 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 lower and right edges of this rectangle are not part of the bit-block transfer, meaning the rectangle is lower right exclusive.

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

pptlSrc
Points to a POINTL structure that defines the upper-left corner of the source rectangle.

Return Value

The return value is TRUE if the source surface is successfully copied to the destination surface.

Comments

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 RLE and device-dependent bitmaps (see the Win32 SDK). 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 Win32 GDI functions: SetDIBits, SetDIBitsToDevice, GetDIBits, SetBitmapBits, and GetBitmapBits.

Kernel-mode GDI calls this function from its simulations.

See Also

CLIPOBJ, XLATEOBJ