#include "l_bitmap.h"
L_INT pEXT_CALLBACK YourFunction (pBitmap, pBuffer, nLines, pUserData)
pBITMAPHANDLE pBitmap; |
pointer to the bitmap handle |
L_UCHAR* pBuffer; |
pointer to a buffer of the caller's output data |
L_INT nLines; |
number of lines in the buffer |
L_VOID* pUserData; |
pointer to additional parameters |
Handles the converted image data that the L_ColorResBitmap function has written to a buffer.
Parameter |
Description |
pBitmap |
The pointer to the bitmap handle referencing the bitmap that contains the image information. |
pBuffer |
A pointer to a buffer containing one or more lines of output image data that the calling function has already converted. |
nLines |
The number of lines in the pBuffer buffer. |
pUserData |
A 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 calling function.) |
|
Keep in mind that this is a void pointer, which must be cast to the appropriate data type within your callback function. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
This is an optional callback function for additional processing. (The bitmap is modified the same way, whether you provide a callback function or not.) For an explanation of how the callback function is used, refer to L_ColorResBitmap.
Required DLLs and Libraries
LTKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
This COLORRESCALLBACK function paints the image as the image is processed.
/* Structure used for the callback function's user data */typedef struct tagIMAGECBPARM{HWND hwnd; /* Current window */HDC hdc; /* Device context for the current window */L_INT nRow; /* First row in the input buffer */HPALETTE hpalPaint; /* Paint palette handle */RECT rLeadDest; /* Destination rectangle for painting */RECT rLeadSource; /* Source rectangle for painting */} IMAGECBPARM, * LPIMAGECBPARM;/*******************************************************************************/L_INT EXT_CALLBACK ColorResCallback (pBITMAPHANDLE pBitmap,L_UCHAR *pBuffer, L_INT nLines,L_VOID * pColorResUserData){LPIMAGECBPARM pUserData = (LPIMAGECBPARM) pColorResUserData;/* If this is the first call (row 0), select and realize the palette */if( pUserData->nRow == 0 ){SendMessage (pUserData->hwnd, WM_QUERYNEWPALETTE, 0, 0L);SelectPalette( pUserData->hdc, pUserData->hpalPaint, TRUE );RealizePalette(pUserData->hdc);}/* Paint the buffer to the specified device context */L_PaintDCBuffer( pUserData->hdc, /* Device context - from function parameter */pBitmap, /* Bitmap handle - from function parameter */&pUserData->rLeadSource, /* Source rect - set globally in WM_CREATE */&pUserData->rLeadSource, /* Source clip rect - same as source rect */&pUserData->rLeadDest, /* Destination rect - set globally in WM_CREATE */&pUserData->rLeadDest, /* Destination clip rect - same as destination rect */SRCCOPY, /* ROP code for normal painting */pBuffer, /* Input buffer - from function parameter */pUserData->nRow, /* First row in buffer - from function parameter */nLines ); /* Number of lines in the buffer - from function parameter *//* Increment the current row by the number of lines in the buffer */pUserData->nRow += nLines;return( SUCCESS );}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
