Adds a new empty layer to a vector handle.
This function is available in the LEADTOOLS Vector Imaging Pro Toolkit.
#include "ltwrappr.h"
virtual L_INT LVectorBase::AddLayer(pVectorLayer, dwFlags=VECTOR_FLAGS_RENAME_DUPLICATE_LAYERS);
Pointer to an LVectorLayer object that specifies the layer settings.
Flag that indicates whether or not to rename duplicate layer names. Possible values are:
Value | Meaning |
---|---|
0 | Don't rename duplicate layer names, if found. |
VECTOR_FLAGS_RENAME_DUPLICATES | Renames duplicate layer names if found. The toolkit will add a suffix (0, 1, 2, etc) to the layer name if duplicated. Checking will be aborted when the suffix value reaches 999 and no unique name can be created. |
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
To add a new vector layer, do the following:
Declare an LVectorLayer object.
Call LVectorLayer::GetLayerDesc to retrieve the current layer settings.
Change the layer settings.
Call LVectorLayer::SetLayerDesc to set the changed layer settings.
Pass the address of the LVectorLayer object to LVectorBase::AddLayer.
This example will add a new layer to a vector handle.
L_INT LVectorBase__AddLayerExample(HWND hWnd, LVectorBase *pVector)
{
UNREFERENCED_PARAMETER(hWnd);
L_INT nRet;
LVectorLayer VectorLayer;
VECTORLAYERDESC LayerDesc;
nRet = VectorLayer.GetLayerDesc(&LayerDesc);
if(nRet != SUCCESS)
return nRet;
lstrcpy(LayerDesc.szName, TEXT("Terry's New Layer"));
nRet = VectorLayer.SetLayerDesc(&LayerDesc);
if(nRet != SUCCESS)
return nRet;
nRet = pVector->AddLayer(&VectorLayer, VECTOR_FLAGS_RENAME_DUPLICATES);
if(nRet != SUCCESS)
{
MessageBox( NULL, TEXT("Could not add layer!"), TEXT(""), MB_OK );
return nRet;
}
//...LVectorLayer destructor called when VectorLayer goes out of scope
return SUCCESS;
}