The MaskBlt function combines the color data for the source and destination bitmaps using the specified mask and raster operation.
BOOL MaskBlt(
HDC hdcDest, // handle to destination device context
int nXDest, // x-coord. of upper-left corner of
// destination rectangle
int nYDest, // y-coord. of upper-left corner of
// destination rectangle
int nWidth, // width of source and destination rectangles
int nHeight, // height of source and destination rectangles
HDC hdcSrc, // handle to source device context
int nXSrc, // x-coord. of upper-left corner of source rectangle
int nYSrc, // y-coord. of upper-left corner of source rectangle
HBITMAP hbmMask, // handle to monochrome bit mask
int xMask, // horizontal pixel offset into the mask bitmap
int yMask, // vertical pixel offset into the mask bitmap
DWORD dwRop // raster operation code
);
For a discussion of foreground and background in the context of this function, see the following Remarks section.
For a list of common raster operation codes, see the BitBlt function.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Windows NT: To get extended error information, call GetLastError.
A value of 1 in the mask specified by hbmMask indicates that the foreground raster operation code specified by dwRop should be applied at that location. A value of 0 in the mask indicates that the background raster operation code specified by dwRop should be applied at that location.
If the raster operations require a source, the mask rectangle must cover the source rectangle. If it does not, the function will fail. If the raster operations do not require a source, the mask rectangle must cover the destination rectangle. If it does not, the function will fail.
If a rotation or shear transformation is in effect for the source device context when this function is called, an error occurs. However, other types of transformation are allowed.
If the color formats of the source, pattern, and destination bitmaps differ, this function converts the pattern or source format, or both, to match the destination format.
If the mask bitmap is not a monochrome bitmap, an error occurs.
When an enhanced metafile is being recorded, an error occurs (and the function returns FALSE) if the source device context identifies an enhanced-metafile device context.
Not all devices support the MaskBlt function. An application should call the GetDeviceCaps function to determine whether a device supports this function.
If no mask bitmap is supplied, this function behaves exactly like BitBlt, using the foreground raster operation code.
ICM: No color management is performed when blits occur.
Windows CE: Windows CE version 1.0 supports only the SRCCOPY and SRCINVERT raster operations.
This function is the same in Windows CE version 2.0 as it is in Windows desktop platforms.
Windows NT: Requires version 3.1 or later.
Windows: Unsupported.
Windows CE: Requires version 1.0 or later.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Bitmaps Overview, Bitmap Functions, BitBlt, GetDeviceCaps, PlgBlt, StretchBlt