LBitmap::HolePunchRemoveCallBack

#include "ltwrappr.h"

virtual L_INT LBitmap::HolePunchRemoveCallBack(hRgn, pBoundingRect, iHoleIndex, iHoleTotalCount, iWhiteCount, iBlackCount)

HRGN hRgn;

/* windows region */

PRECT pBoundingRect;

/* pointer to a RECT structure */

L_INT32 iHoleIndex;

/* index value */

L_INT32 iHoleTotalCount;

/* total number of holes */

L_INT32 iWhiteCount;

/* number of white pixels */

L_INT32 iBlackCount;

/* number of black pixels */

Called for each hole punch found by LBitmap::HolePunchRemove.

Parameter

Description

hRgn

Windows region representing one of the holes of the hole punch pattern. It is the programmers responsibility to delete this region (using DeleteObject())when it is no longer needed.

pBoundingRect

Pointer to a RECT structure that contains the bounding rectangle of one of the holes in a hole punch pattern.

iHoleIndex

Index of the hole within a hole punch pattern. The holes are numbered from 1 to n, where n is the total number of holes in the hole punch pattern.

iHoleTotalCount

The total number of holes that make up the hole punch pattern. This value will not change for a particular call to LBitmap::HolePunchRemove().

iWhiteCount

Total number of white pixels in one of the holes of a hole punch pattern.

iBlackCount

Total number of black pixels in one of the holes of a hole punch pattern.

Returns

SUCCESS_REMOVE

Remove the hole.

SUCCESS_NOREMOVE

Do not remove the hole.

Otherwise

An error occurred. Refer to Return Codes.

Comments

This function is called once for each occurring hole in the hole punch configuration. For example, if there are three holes, the callback gets called three times. Return SUCCESS_REMOVE to have a particular hole removed. Return SUCCESS_NOREMOVE to leave the hole unchanged. Pass any other value to abort. This value will be the return value of the LBitmap::HolePunchRemove(). If HOLEPUNCH_IMAGE_UNCHANGED and HOLEPUNCH_SINGLE_REGION are being used, then the return value of this function affects only the internal single region that contains all the changes.

Required DLLs and Libraries

LTIMG

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:

LBitmap::HolePunchRemove

Topics:

Cleaning Up 1-Bit Images

Example

For an example, refer to LBitmap::HolePunchRemove.