Gdi::MaskBlt_I

This method combines the color data for the source and destination bitmaps using the specified mask and raster operation.

static WINGDIAPI BOOL WINAPI MaskBlt_I(
  HDC hdcDest, 
  int nXDest, 
  int nYDest, 
  int nWidth, 
  int nHeight, 
  HDC hdcSrc, 
  int nXSrc, 
  int nYSrc, 
  HBITMAP hbmMask, 
  int xMask, 
  int yMask, 
  DWORD dwRop
);

Parameters

  • hdcDest
    [in] Handle to the destination device context.

  • nXDest
    [in] Integer that specifies the logical x-coordinate of the upper-left corner of the destination rectangle.

  • nYDest
    [in] Integer that specifies the logical y-coordinate of the upper-left corner of the destination rectangle.

  • nWidth
    [in] Integer that specifies the width, in logical units, of the destination rectangle and source bitmap.

  • nHeight
    [in] Integer that specifies the height, in logical units, of the destination rectangle and source bitmap.

  • hdcSrc
    [in] Handle to the device context from which the bitmap is to be copied. This value must be zero if the dwRop parameter specifies a raster operation that does not include a source.

  • nXSrc
    [in] Integer that specifies the logical x-coordinate of the upper-left corner of the source bitmap.

  • nYSrc
    [in] Integer that specifies the logical y-coordinate of the upper-left corner of the source bitmap.

  • hbmMask
    [in] Handle to the monochrome mask bitmap combined with the color bitmap in the source device context.

  • xMask
    [in] Integer that specifies the horizontal pixel offset for the mask bitmap specified by the hbmMask parameter.

  • yMask
    [in] Integer that specifies the vertical pixel offset for the mask bitmap specified by the hbmMask parameter.

  • dwRop
    [in] DWORD that specifies both foreground and background ternary raster operation codes that the function uses to control the combination of source and destination data. The background raster operation code is stored in the high-order byte of the high-order word of this value; the foreground raster operation code is stored in the low-order byte of the high-order word of this value; the low-order word of this value is ignored, and should be zero. The macro MAKEROP4 creates such combinations of foreground and background raster operation codes.

    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 Gdi::BitBlt_I method.

Return Values

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

Remarks

This method is an internal version of the MaskBlt function.

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 the mask rectangle does not cover the source rectangle, the method fails. If the raster operations do not require a source, the mask rectangle must cover the destination rectangle. If the mask rectangle does not cover the destination rectangle, the method fails.

If a rotation or shear transformation is in effect for the source device context when this method 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.

Not all devices support the Gdi::MaskBlt_I method. An application should call the Gdi::GetDeviceCaps_I method to determine whether a device supports this function.

If no mask bitmap is supplied, this function behaves exactly like Gdi::BitBlt_I, using the foreground raster operation code.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Gdi.hpp.

See Also

MaskBlt | Gdi::BitBlt_I | Gdi::GetDeviceCaps_I | Gdi::StretchBlt_I

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.