|
|
|
|
BitBltPlaneMaskedLin
Copy a linear block of video memory with an associated bit plane mask
Declaration
void NAPI GA_2DRenderFuncs::BitBltPlaneMaskedLin(
N_int32 srcOfs,
N_int32 srcPitch,
N_int32 srcLeft,
N_int32 srcTop,
N_int32 width,
N_int32 height,
N_int32 dstLeft,
N_int32 dstTop,
N_uint32 planeMask)
Prototype In
snap/graphics.h
Parameters
srcOfs |
Offset of source bitmap in video memory |
srcPitch |
Pitch of source bitmap in bytes |
srcLeft |
Left coordinate within source bitmap to copy |
srcTop |
Top coordinate within source bitmap to copy |
width |
Width of the rectangle in pixels |
height |
Height of the rectangle in scanlines |
dstLeft |
Left coordinate of destination |
dstTop |
Top coordinate of destination |
planeMask |
Plane mask to use during the copy |
Description
This routine will copy a linear region of video memory from srcOfs from the start of video memory to the destination rectangle (dstLeft, dstTop, dstLeft+width-1, dstTop+height-1) with the specified plane mask. The plane mask is used to determine which bits in the destination pixels will be affected by the copy. Each bit in the plane mask is used to mask out a bit in the destination pixel values, and where a bit is a 1 the destination bit comes from the source pixel while where a bit is 0 the destination bit is left unchanged.
Note that the srcLeft and srcTop coordinates define an offset within the source bitmap to be copied, so it is possible to only copy a portion of an offscreen bitmap. This is useful for storing multiple images in a single offscreen bitmap, or for handling the case of software clipping offscreen bitmaps if the destination lies outside of the software clip rectangle for the destination buffer.
This version is different to the standard BitBlt function in that the source bitmap to be copied can be non-conforming, and can have a different logical scanline width to the destination bitmap. This allows the bitmaps to be stored contiguously in offscreen video memory, rather than requiring the offscreen video memory to be divided up into rectangular regions, resulting in more efficient use of available offscreen memory for bitmap storage.
Note: The value of srcOfs must be aligned to the boundary specified in the BitmapStartAlign member of the GA_modeInfo structure, and the srcPitch value must be padded to multiples of the BitmapStridePad member of the GA_modeInfo structure.
See Also
BitBlt, BitBltPlaneMasked, BitBltPlaneMaskedSys, BitBltPlaneMaskedBM
Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com