LEADTOOLS Raster Imaging C DLL Help > Quick Reference > Data Types > Custom Painting Structures > PAINTCALLBACKDATA |
typedef struct _PAINTCALLBACKDATA
{
L_UINT uStructSize;
L_UINT32 uFlags;
L_VOID *pDisplay;
L_VOID *pUserData;
PAINTCALLBACK_GETDEVICECAPS pGetDeviceCaps;
PAINTCALLBACK_GETMAPMODE pGetMapMode;
PAINTCALLBACK_SETSTRETCHBLTMODE pSetStretchBltMode;
PAINTCALLBACK_INTERSECTCLIPRECT pIntersectClipRect;
PAINTCALLBACK_SAVEDC pSaveDC;
PAINTCALLBACK_RESTOREDC pRestoreDC;
PAINTCALLBACK_STRETCHDIBITS pStretchDIBits;
PAINTCALLBACK_SETVIEWPORTORGEX pSetViewportOrgEx;
PAINTCALLBACK_GETVIEWPORTORGEX pGetViewportOrgEx;
PAINTCALLBACK_EXTSELECTCLIPRGN pExtSelectClipRgn;
PAINTCALLBACK_SELECTPALETTE pSelectPalette;
PAINTCALLBACK_REALIZEPALETTE pRealizePalette;
PAINTCALLBACK_GETGRAPHICSMODE pGetGraphicsMode;
PAINTCALLBACK_GETWORLDTRANSFORM pGetWorldTransform;
PAINTCALLBACK_ISCOMPATIBLEDC pIsCompatibleDC;
PAINTCALLBACK_CONVERTLINE pConvertLine;
PAINTCALLBACK_GETDIBINFO pGetDibInfo;
PAINTCALLBACK_PREPAINT pPrePaint;
PAINTCALLBACK_POSTPAINT pPostPaint;
PAINTCALLBACK_FILLRECT pFillRect;
} PAINTCALLBACKDATA, * pPAINTCALLBACKDATA;
The PAINTCALLBACKDATA structure describes the format of PAINTCALLBACKDATA, * pPAINTCALLBACKDATA;
The PAINTCALLBACKDATA structure contains the callbacks used for custom painting.
The following functions make use of this structure:
Member |
Description |
|
uStructSize |
Size of the PAINTCALLBACKDATA structure. This should be sizeof(PAINTCALLBACKDATA). |
|
uFlags |
Any of the following flags. (You can use a bitwise OR to specify more than one value.). |
|
|
Value |
Meaning |
|
PAINTCALLBACKDATA_NO_INDEXEDPAINT |
[0x00000001] Do not use indexed paint. The palette colors should be passed as RGB colors, not palette indices. |
pDisplay |
The device context to paint on. The predefined callbacks expect this value to be a valid DC handle. But, if you redirect all the callbacks, this can be a pointer to any structure you want. This value will be passed to all the paint callbacks that take a pDisplay parameter. |
|
pUserData |
Pointer to a user-defined structure that will be passed to all the callback functions as the pUserData parameter. |
|
pGetDeviceCaps |
Pointer to a function that will replace the GetDeviceCaps GDI function. |
|
pGetMapMode |
Pointer to a function that will replace the GetMapMode GDI function. |
|
pSetStretchBltMode |
Pointer to a function that will replace the SetStretchBltMode GDI function. |
|
pIntersectClipRect |
Pointer to a function that will replace the IntersectClipRect GDI function. |
|
pSaveDC |
Pointer to a function that will replace the SaveDC GDI function. |
|
pRestoreDC |
Pointer to a function that will replace the RestoreDC GDI function. |
|
pStretchDIBits |
Pointer to a function that will replace the StretchDIBits GDI function. |
|
pSetViewportOrgEx |
Pointer to a function that will replace the SetViewportOrgEx GDI function. |
|
pGetViewportOrgEx |
Pointer to a function that will replace the GetViewportOrgEx GDI function. |
|
pExtSelectClipRgn |
Pointer to a function that will replace the ExtSelectClipRgn GDI function. |
|
pSelectPalette |
Pointer to a function that will replace the SelectPalette GDI function. |
|
pRealizePalette |
Pointer to a function that will replace the RealizePalette GDI function. |
|
pGetGraphicsMode |
Pointer to a function that will replace the GetGraphicsMode GDI function. |
|
pGetWorldTransform |
Pointer to a function that will replace the GetWorldTransform GDI function. |
|
pIsCompatibleDC |
Pointer to a function that determines whether the DC and bitmap are compatible with my callbacks. |
|
pConvertLine |
Pointer to a function that converts the image data to display data. |
|
pGetDibInfo |
Pointer to a function that will tell the raster engine the format of display data. This function must be provided if you provide the pConvertLine function. |
|
pPrePaint |
Pointer to a function that can be used for initialization. |
|
pPostPaint |
Pointer to a function that can be used for cleanup. |
|
pFillRect |
Pointer to a function that will replace the FillRect GDI function. |
Comments
You do not need to provide every callback. You can set to NULL any callbacks that you do not wish to replace. If you pass NULL for a certain callback, the default GDI function will be used.
If you do pass NULL for some of the GDI callbacks, then you should set pDisplay to a valid HDC handle. The default GDI functions expect pDisplay to be a HDC handle.
If you set pIsCompatibeDC to a valid function pointer, that function will be called before any other callback function to determine whether the DC is compatible with your callbacks. If this function returns FALSE, then no other callback will be called and the default GDI functions will be used.
If you set pConvertLine to a valid function pointer, you must also set pGetDibInfo to a valid function pointer so LEADTOOLS will know the format of the image data expected by the painting functions.
If you set pPrePaint to a valid function pointer, it will be called once after pIsCompatibleDC and before any other callback.
If you set pPostPaint to a valid function pointer, it will be called once any other callback.
See Also
Functions: |
L_PaintDCCallback, L_PaintRgnDCCallback, L_PaintDCBufferCallback, L_PaintRgnDCBufferCallback, L_PaintDCOverlayCallback |
Topics: |