LBitmapWindow::MagGlassCallBack

#include "ltwrappr.h"

virtual L_INT LBitmapWindow::MagGlassCallBack(hWnd, nMaskPlaneStart, nMaskPlaneEnd, pMaskPlane, nMaskPlaneSize)

HWND hWnd;

/* handle to a window */

L_INT nMaskPlaneStart;

/* start position of the mask array */

L_INT nMaskPlaneEnd;

/* end position of the mask array */

L_UCHAR *pMaskPlane;

/* array of bit flags */

L_SIZE_T nMaskPlaneSize;

/* size of the bit flags array */

Handles the WM_LBUTTONDOWN, WM_LBUTTONUP and WM_MOUSEMOVE messages received by the window to which the Magnifying Glass is attached.

Parameter

Description

hWnd

Handle of the window to which the Magnifying Glass is attached.

nMaskPlaneStart

The start position of the mask plane array.

nMaskPlaneEnd

The end position of the mask plane array.

pMaskPlane

An array of bit flags which represents a mask plane. This array works as a plane for the parts of the bitmap that are not yet updated.

nMaskPlaneSize

The size of the bit flags array in bytes.

 

Keep in mind that this is a void pointer, which must be cast to the appropriate data type within your callback function.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This is an optional callback function is called for each WM_LBUTTONDOWN, WM_MOUSEMOVE and WM_LBUTTONUP message received by the window to which the magnifying glass is attached.

In order to use this callback function, you must call LBitmapWindow::SetToolType, and also you must override LBitmapWindow::MagGlassCallBack. Once that is done, information about the non-updated parts of the bitmap can be obtained from this callback function, in the pMaskPlane parameter. This callback function receives information when the left mouse button is pressed or released and when the mouse is moved while the left mouse button is pressed.

The information received by this function can be passed to the LEADTOOLS Internet functions to get pixel values of the non-updated parts of the bitmap.

Required DLLs and Libraries

LTDIS
LTDLG
LTEFX
LTFIL
LTIMG
LTISI
LTSCR
LTTWN

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

See Also

Functions:

LBitmapWindow::SetMagGlassOptions, LBitmapWindow::GetMagGlassOptions, LBitmapWindow::UpdateMagGlassShape

Topics:

Using the Magnifying Glass

 

Raster Image Functions: Displaying Images

 

Using the Zoom View

Example

/*<struct>*/
#if defined(MyAnnStamp)
class MyBitmapWindow : public LBitmapWindow
{
public: 
   L_INT MagGlassCallback (HWND hWnd, L_INT nMaskPlaneStart, L_INT nMaskPlaneEnd, L_UCHAR  *pMaskPlane, L_INT nMaskPlaneSize); 
};
#endif
/*</struct>*/
L_INT MyBitmapWindow::MagGlassCallback (HWND hWnd, L_INT nMaskPlaneStart, L_INT nMaskPlaneEnd, L_UCHAR  *pMaskPlane, L_INT nMaskPlaneSize) 
{
   UNREFERENCED_PARAMETER(pMaskPlane);
   UNREFERENCED_PARAMETER(nMaskPlaneEnd);
   UNREFERENCED_PARAMETER(nMaskPlaneSize);
   UNREFERENCED_PARAMETER(nMaskPlaneStart);
   UNREFERENCED_PARAMETER(hWnd);
   // .. Write your code here. 
   return SUCCESS; 
}
L_INT LBitmapWindow__MagGlassCallBackExample(MyBitmapWindow *LeadBWnd ) 
{
   LeadBWnd->EnableCallBack(TRUE); 
   LeadBWnd->LBitmapWindow::SetToolType(TOOL_MAGGLASS) ; 
   
   return SUCCESS;
}