L_CreateMarkers

#include "l_bitmap.h"

L_INT EXT_FUNCTION L_CreateMarkers(phMarkers)

HANDLE L_FAR * 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

LTFIL

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

Windows 95 / 98 / Me, Windows 2000 / XP.

See Also

Functions:

L_LoadMarkers, L_FreeMarkers, L_InsertMarker, L_EnumMarkers, L_GetMarkerCount, L_GetMarker

Topics:

Raster Image Functions: Markers

 

Working with Markers

Example

L_INT EXT_CALLBACK MyCopyCallback(L_UINT uMarker, L_UINT uMarkerSize, L_VOID L_FAR * pMarkerData, L_VOID L_FAR * pUserData, LEADMARKERCALLBACK pfnLEADCallback, L_VOID L_FAR * pLEADUserData)
{
   // is it a APPn marker?
   if(uMarker >= 0xE0 && uMarker < 0xF0)
   {
      // just insert all the markers in the destination collection list
      // L_Inse
rtMarker will never return SUCCESS_IGNOREMARKER, so the source collection list will not be changed.
      return 
L_InsertMarker(*(HANDLE L_FAR*)pLEADUserData, 0xFFFFFFFF, uMarker, uMarkerSize, pLEADUserData);
   }

   return SUCCESS;
}

 

// This example will copy all APPn markers from one marker collection to another
L_INT CopyMarkers(HANDLE hSrcMarkers, HANDLE L_FAR*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 L_FAR*)phDstMarkers);
   if(nRet != SUCCESS)
   {
      // An error occurred. Free the marker list we have created
      
L_FreeMarkers(*phDstMarkers);
      *phDstMarkers = NULL;
   }

   return nRet;
}