HOLEPUNCHREMOVECALLBACK Function

#include "l_bitmap.h"

L_INT pEXT_CALLBACK YourFunction (hRgn, pBoundingRect, iHoleIndex, iHoleTotalCount, iWhiteCount, iBlackCount, pUserData)

HRGN hRgn;

/* windows region */

PRECT pBoundingRect;

/* pointer to a RECT structure */

L_INT iHoleIndex;

/* index value */

L_INT iHoleTotalCount;

/* total number of holes */

L_INT iWhiteCount;

/* number of white pixels */

L_INT iBlackCount;

/* number of black pixels */

L_VOID *pUserData;

/* pointer to additional parameters */

Handles each hole punch found by L_HolePunchRemoveBitmap.

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 L_HolePunchRemoveBitmap().

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.

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 L_HolePunchRemoveBitmap).

 

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

Returns

SUCCESS_REMOVE

Remove the hole.

SUCCESS_NOREMOVE

Do not remove the hole.

Otherwise

An error occurred. Refer to Return Codes.

Comments

The callback 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 L_HolePunchRemoveBitmap() . If HOLEPUNCH_IMAGE_UNCHANGED and HOLEPUNCH_SINGLE_REGION are being used, then the return value of the callback affects the internal single region that contains all the changes.

Required DLLs and Libraries

LTIMGCOR

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:

L_HolePunchRemoveBitmap

Topics:

Cleaning Up 1-Bit Images

Example

For an example, refer to L_HolePunchRemoveBitmap.