MGL_computePixelAddr

Computes the address of a pixel in the device context surface.

Declaration

void * MGLAPI MGL_computePixelAddr(
MGLDC *dc,
int x,
int y)

Prototype In

mgraph.h

Parameters

dc | Device context to compute the pixel address for
x | X coordinate of pixel to address
y | Y coordinate of pixel to address

Return Value

Pointer to the start of the pixel in the surface of the device context.

Description

This function computes the address of a pixel in the surface of a specific device context. This function is most useful for developing custom rendering routines that draw directly to the surface of a device context, and will compute the address of the pixel correctly regardless of the color depth of the device context. Essentially this function computes the following:

addr = dc->surface + (y * bytesPerLine) + (x * bytesPerpixel)

If you are going to be doing a lot of address calculations, it will be faster to optimise your code to do the calculations directly in place (such as with a macro) and specifically to eliminate the last multiply if you know in advance what color depth you are working with (ie: change it to be x, x*2, x*3 or x*4 depending on the color depth).

Note: You cannot use this function to address the device context surface if the device surface access type returned by MGL_getSurfaceAccessType is set to MGL_NO_ACCESS.

Copyright © 2002 SciTech Software, Inc. Visit our web site at http://www.scitechsoft.com