| LEADTOOLS Raster Imaging C DLL Help > Function References > L_CreateMarkers |
#include "l_bitmap.h"
L_LTFIL_API L_INT L_CreateMarkers(phMarkers)
|
L_HANDLE* phMarkers; |
/* pointer to a marker handle */ |
Creates an empty marker collection.
|
Parameter |
Description |
|
phMarkers |
Pointer to a variable to be updated with a handle to an empty marker collection. |
Returns
|
SUCCESS |
The function was successful. |
|
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Markers can be added to the collection using L_InsertMarker function.
When the marker collection handle is no longer needed, free it by calling L_FreeMarkers.
Required DLLs and Libraries
|
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Platforms
Win32, x64, Linux.
See Also
|
Functions: |
L_LoadMarkers, L_FreeMarkers, L_InsertMarker, L_EnumMarkers, L_GetMarkerCount, L_GetMarker, L_MarkersSupported |
|
Topics: |
|
|
|
Example
This example will copy all APPn markers from one marker collection to another
L_INT EXT_CALLBACK MyCopyCallback(L_UINT uMarker,
L_UINT uMarkerSize,
L_UCHAR * pMarkerData,
L_VOID * pUserData,
LEADMARKERCALLBACK pfnLEADCallback,
L_VOID * pLEADUserData)
{
UNREFERENCED_PARAMETER(pfnLEADCallback);
UNREFERENCED_PARAMETER(pUserData);
UNREFERENCED_PARAMETER(pMarkerData);
// is it a APPn marker?
if(uMarker >= 0xE0 && uMarker < 0xF0)
{
// just insert all the markers in the destination collection list
// L_InsertMarker will never return SUCCESS_IGNOREMARKER, so the source collection list will not be changed.
return L_InsertMarker((L_HANDLE)pLEADUserData, 0xFFFFFFFF, uMarker, uMarkerSize, pMarkerData);
}
return SUCCESS;
}
L_INT CreateMarkersExample(HANDLE hSrcMarkers, HANDLE * phDstMarkers)
{
L_INT nRet;
nRet = L_CreateMarkers(phDstMarkers);
if(nRet != SUCCESS)
return nRet;
// copy the APPn markers from hSrcMarkers
nRet = L_EnumMarkers(hSrcMarkers, 0, MyCopyCallback, (L_VOID *)*phDstMarkers);
if(nRet != SUCCESS)
{
// An error occurred. Free the marker list we have created
L_FreeMarkers(*phDstMarkers);
*phDstMarkers = NULL;
}
return nRet;
}