Displays the Hole Punch Remove box, and gets the options for L_HolePunchRemoveBitmap.
This function is available in the Document/Medical toolkits.
#include "l_bitmap.h"
L_LTDLG_API L_INT L_DlgHolePunchRemove(hWndOwner, pDlgParams)
Handle of the window which owns the dialog.
Pointer to a HOLEPUNCHREMOVEDLGPARAMS structure to be updated with the values entered by the user, through the dialog. Set members of this structure, before calling this function, to set the dialogs initial values.
Value | Meaning |
---|---|
SUCCESS_DLG_OK | The "OK" button was pressed, and the dialog exited successfully. |
SUCCESS_DLG_CANCEL | The "Cancel" button was pressed, and the dialog exited successfully. |
< 1 | An error occurred. Refer to Return Codes. |
The L_HolePunchRemoveBitmap function only works with 1-bit images. If you provide a bitmap in the HOLEPUNCHREMOVEDLGPARAMS structure, it must be a 1-bit bitmap.
L_INT ShowDlgHolePunchRemoveExample(HWND hWnd,pBITMAPHANDLE pBitmap)
{
L_INT nRet;
HOLEPUNCHREMOVEDLGPARAMS DlgParams ;
BITMAPHANDLE BitmapRegion ;
memset ( &DlgParams, 0, sizeof ( HOLEPUNCHREMOVEDLGPARAMS ) ) ;
memset ( &BitmapRegion, 0, sizeof ( BITMAPHANDLE ) ) ;
DlgParams.uStructSize = sizeof ( HOLEPUNCHREMOVEDLGPARAMS ) ;
DlgParams.pBitmap = pBitmap ;
DlgParams.HolePunchRemove.uStructSize = sizeof ( HOLEPUNCH ) ;
DlgParams.HolePunchRemove.pBitmapRegion = &BitmapRegion ;
DlgParams.HolePunchRemove.uBitmapStructSize = sizeof ( BITMAPHANDLE );
DlgParams.HolePunchRemove.iMinHoleWidth = 1000 ;
DlgParams.HolePunchRemove.iMinHoleHeight = 1000 ;
DlgParams.HolePunchRemove.iMaxHoleWidth = 1000 ;
DlgParams.HolePunchRemove.iMaxHoleHeight = 1000 ;
DlgParams.HolePunchRemove.iMinHoleCount = 2 ;
DlgParams.HolePunchRemove.iMaxHoleCount = 4 ;
DlgParams.HolePunchRemove.uFlags = HOLEPUNCH_USE_DPI |
HOLEPUNCH_USE_COUNT |
HOLEPUNCH_USE_SIZE;
DlgParams.HolePunchRemove.iLocation = HOLEPUNCH_LEFT ;
DlgParams.uDlgFlags = DLG_HOLEPUNCHREMOVE_SHOW_PREVIEW |
DLG_HOLEPUNCHREMOVE_SHOW_TOOL_ZOOMLEVEL ;
nRet = L_DlgInit ( DLG_INIT_COLOR ) ;
if(nRet != SUCCESS && nRet != ERROR_DLG_ALREADYINITIATED)
return nRet;
nRet = L_DlgHolePunchRemove ( hWnd, &DlgParams ) ;
if(nRet < 1)
return nRet;
if(L_BitmapHasRgn (&BitmapRegion))
L_FreeBitmapRgn (&BitmapRegion);
nRet = L_DlgFree () ;
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
} ;