LMarker::Create

#include "ltwrappr.h"

virtual L_INT LMarker::Create(void)

Creates an empty marker collection.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes

Comments

Markers can be added to this collection with LMarker::Insert.

When the marker collection is no longer needed, delete it by calling LMarker::Free.

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.

See Also

Functions:

LMarker::Copy, LMarker::Delete, LMarker::DeleteIndex, LMarker::Enum, LMarker::EnumMarkersCallBack, LMarker::Free, LMarker::GetCount, LMarker::GetGlobalMarkers, LMarker::GetHandle, LMarker::Insert, LMarker::Load, LMarker::SetAsGlobalMarkers, LMarker::SetHandle, LFile::WriteMetaData, Class Members

Topics:

Raster Image Functions: Markers

 

Working with Markers

Example

// This example will copy all APPn markers from one marker collection to another
class CMarkerTest : public LMarker
{
private:
 virtual L_INT EnumMarkersCallBack(  
L_UINT uMarker, 
      L_UINT uMarkerSize, 
      L_VOID L_FAR*pMarkerData, 
      LEADMARKERCALLBACK pfnLEADCallback, 
      L_VOID L_FAR* pLEADUserData);
// Attributes

};
L_INT MyCopyMarkers(CMarkerTest SrcMarkers, LMarker *DstMarkers)
{
   L_INT nRet = DstMarkers->Create();
   if(nRet != SUCCESS)
      return nRet;

   // copy the APPn markers from hSrcMarkers
   nRet = SrcMarkers.Enum(0);
   if(nRet != SUCCESS)
   {
      // An error occurred. Free the marker list we have created
      DstMarkers->Free();
   }

   return nRet;
}
 
 L_INT CMarkerTest::EnumMarkersCallBack(L_UINT uMarker, 
L_UINT uMarkerSize, 
L_VOID L_FAR*pMarkerData, 
LEADMARKERCALLBACK pfnLEADCallback, 
L_VOID L_FAR* pLEADUserData)
{
     if(uMarker >= 0xE0 && uMarker < 0xF0)
   {
      // just insert all the markers in the destination collection list
      // Insert will never return SUCCESS_IGNOREMARKER, 
      //    so the source collection list will not be changed.
      return this->Insert(0xFFFFFFFF, uMarker, uMarkerSize, pMarkerData);
   }
   return SUCCESS;
}