LMarker::Create

#include "ltwrappr.h"

virtual L_INT LMarker::Create()

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.

/*<struct>*/
#ifdef CMarkerTest
class CMarkerTest : public LMarker
{
private:
 virtual L_INT EnumMarkersCallBack(L_UINT uMarker, 
                                   L_UINT uMarkerSize, 
                                   L_VOID *pMarkerData, 
                                   LEADMARKERCALLBACK pfnLEADCallback, 
                                   L_VOID * pLEADUserData);
// Attributes
};
#endif // #ifdef CMarkerTest
/*</struct>*/
L_INT LMarker__CreateExample(CMarkerTest SrcMarkers, LMarker *DstMarkers)
{
   L_INT nRet1;
   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
      nRet1 = DstMarkers->Free();
      if(nRet != SUCCESS)
         return nRet1;
      return nRet;
   }
   return SUCCESS;
}
 
L_INT CMarkerTest::EnumMarkersCallBack(L_UINT uMarker, 
                                       L_UINT uMarkerSize, 
                                       L_VOID *pMarkerData, 
                                       LEADMARKERCALLBACK pfnLEADCallback, 
                                       L_VOID * pLEADUserData)
{
   UNREFERENCED_PARAMETER(pfnLEADCallback);
   UNREFERENCED_PARAMETER(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, (L_UCHAR*) pMarkerData);
   }
   return SUCCESS;
}