PAINTCALLBACK_STRETCHDIBITS Function

#include "l_bitmap.h"

L_BOOL pEXT_CALLBACK YourFunction(pDisplay, nXDest, nYDest, nDestWidth, nDestHeight, nXSrc, nYSrc, nSrcWidth, nSrcHeight, lpvBits, lpbmi, fuColorUse, ulROP3Code, pUserData)

L_VOID *pDisplay;

/* device context handle */

L_INT nXDest;

/* x-coord of destination upper-left corner */

L_INT nYDest;

/* y-coord of destination upper-left corner */

L_INT nDestWidth;

/* width of destination rectangle */

L_INT nDestHeight;

/* height of destination rectangle */

L_INT nXSrc;

/* x-coord of source upper-left corner */

L_INT nYSrc;

/* y-coord of source upper-left corner */

L_INT nSrcWidth;

/* width of source rectangle */

L_INT nSrcHeight;

/* height of source rectangle */

L_VOID lpvBits;

/* pointer to bitmap bits */

BITMAPINFO lpbmi;

/* pointer to information on bitmap data */

L_UINT fuColorUse;

/* palette usage options */

L_UINT32 ulROP3Code;

/* raster operation code */

L_VOID pUserData;

/* pointer to additional data */

This is the callback that replaces the StretchDIBits GDI function.

Parameter

Description

pDisplay

Handle of the device context passed to the paint function.

nXDest

Specifies the x-coordinate, in logical units, of the upper-left corner of the destination rectangle.

nYDest

Specifies the y-coordinate, in logical units, of the upper-left corner of the destination rectangle.

nDestWidth

Specifies the width, in logical units, of the destination rectangle.

nDestHeight

Specifies the height, in logical units, of the destination rectangle.

nXSrc

Specifies the x-coordinate, in pixels, of the source rectangle in the DIB.

nYSrc

Specifies the y-coordinate, in pixels, of the source rectangle in the DIB.

nSrcWidth

Specifies the width, in pixels, of the source rectangle in the DIB.

nSrcHeight

Specifies the height, in pixels, of the source rectangle in the DIB.

lpvBits

Pointer to the DIB bits, which are stored as an array of bytes.

lpbmi

Pointer to a BITMAPINFO structure that contains information about the DIB.

fuColorUse

Specifies whether the bmiColors member of the BITMAPINFO structure was provided and, if so, whether bmiColors contains explicit red, green, blue (RGB) values or indexes.

ulROP3Code

Specifies how the source pixels, the destination device context's current brush, and the destination pixels are to be combined to form the new image.

pUserData

Void pointer that you can use to access a variable or structure containing data that your callback function needs. This gives you a way to receive data indirectly from the function that uses this callback function. (This is the same pointer that you pass in the pUserData parameter of the PAINTCALLBACKDATA structure.)

Returns

The return values are the same as the return values for the corresponding GDI function.

Comments

The internal display engine calls your callback function if you override the corresponding GDI function in the PAINTCALLBACKDATA structure.

pDisplay is the pDisplay member from the PAINTCALLBACKDATA structure that you passed to the paint function. The default callbacks expect it to be a HDC handle. But, if you override all the paint callbacks, it can be a pointer of any type you want.

Please see the Microsoft documentation for the values you are expected to return and for the meaning of the parameters before pUserData.

Required DLLs and Libraries

LTDIS

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

Example

For an example, refer to L_PaintDCCallback.