3.4.4 Transparent Block Transfers

In Windows 3.1, display drivers can indicate that they support transparent block transfers by setting the C1_TRANSPARENT bit in the dpCaps1 member of the GDIINFO structure. In a transparent block transfer, a driver excludes source and brush pixels from a BitBlt or StretchBlt operation if those pixels have the same color as the current background color for the destination device.

If a display driver supports transparent block transfers, the BitBlt function must check the bkMode member of the lpDrawMode parameter as well as the Rop3 parameter to determine how to carry out the transfer. If the bkMode member specifies the background mode TRANSPARENT1, BitBlt must not transfer source and brush bits that have the same color as the destination's background color. In other words, the corresponding destination bits must be left unchanged. Other background modes do not affect the transfer.