PutMonoImageMSBSys
Draws a monochrome bitmap stored in system memory
Declaration
void NAPI GA_2DRenderFuncs::PutMonoImageMSBSys(
N_int32 x,
N_int32 y,
N_int32 width,
N_int32 height,
N_int32 byteWidth,
N_uint8 *image,
N_int32 transparent)
Prototype In
snap/graphics.h
Parameters
x |
Destination X coordinate to draw the bitmap at |
y |
Destination Y coordinate to draw the bitmap at |
width |
Width of the bitmap in pixels |
height |
Height of the bitmap in pixels |
byteWidth |
Width of the bitmap in bytes |
image |
Pointer to the bitmap image data to draw |
transparent |
1 for transparent, 0 for opaque |
Description
This function copies a monochrome bitmap image from a system memory buffer to video memory using the hardware accelerator, which is used for fast bitmap masking and font rendering operations. The bitmap is rendered using the currently active colors and mix.
The x and y parameters define the destination coordinate for the image, and the width and height parameters define the dimensions of the monochrome image to be displayed. The byteWidth parameter defines the width of the bitmap image in bytes, and must be equal to the value of (width + 7) / 8. Hence the width parameter is used to clip off unwanted pixels on the right hand edge of the bitmap, but it cannot clip off more than a single bytes worth of pixels. The image pointer points to the start of the monochrome image in system memory and is byte packed.
If the transparent parameter is set to 1, where a bit is 0 in the bitmap image the destination pixel remains untouched. If the transparent parameter is set to 0, where a bit is 0 in the bitmap image the destination pixel is drawn in the background color. In all cases where a bit in the bitmap image is 1, the pixel is drawn in the foreground color.
Note: This function processes the bitmap data in MSB fashion, in that the first pixel drawn corrsponds to bit 7 of the first byte. The second pixel is bit 6 of the first byte, ...,the 8th pixel is bit 7 of the second byte etc. Both LSB and MSB versions are provided for performance.
Note: Both the MSB and LSB versions should only be implemented if the hardware supports both bitmap processing modes. If the hardware only supports one mode, only that mode must be implemented so that the higher level code can use the most optimal method of bit-swizzling the bitmap data before sending it to the driver.
See Also
PutMonoImageMSBLin, PutMonoImageMSBBM, PutMonoImageMSBSys, PutMonoImageLSBLin, PutMonoImageLSBBM, ClipMonoImageLSBSys, ClipMonoImageLSBLin, ClipMonoImageLSBBM, ClipMonoImageMSBSys, ClipMonoImageMSBLin, ClipMonoImageMSBBM
Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com