L_VecCopy
#include "lvkrn.h"
L_LVKRN_API L_INT L_VecCopy(pDst, pSrc, dwFlags)
pVECTORHANDLE pDst; |
/* pointer to a vector handle */ |
const pVECTORHANDLE pSrc; |
/* pointer to a vector object */ |
L_UINT32 dwFlags; |
/* copy flags */ |
Copies one vector handle to another.
Parameter |
Description | |
pDst |
Pointer to the target vector handle. | |
pSrc |
Pointer to the source vector handle. | |
dwFlags |
Flag that indicate the characteristics of the copy process. Possible values are: | |
|
Value |
Meaning |
|
0 |
Copy the entire vector handle from the source vector to the destination vector. |
|
VECTOR_FLAGS_SELECTED_ONLY |
Copy only selected objects from the source vector to the destination vector. |
|
VECTOR_FLAGS_REPLACE |
Empty the destination vector handle before copying. |
|
VECTOR_FLAGS_RENAME_DUPLICATES |
Renames duplicate layer names if found. This flag is only valid when VECTOR_FLAGS_REPLACE is not specified. 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. |
|
VECTOR_FLAGS_COPY_INTO_ACTIVE_LAYER |
Copies objects and layers into the active layer of the destination vector. |
|
VECTOR_FLAGS_COPY_LAYERS_ONLY |
Copies all layers and objects from the source vector to the destination vector. Transformation, camera, viewport and all other properties of the destination vector will not be effected. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
Copies an entire drawing of a source vector structure and places it into a destination structure.
This also copies all fields in the VECTORHANDLE structure.
This function will not copy the window attachment, if pSrc is attached to a window, pDst will not be attached to the same window.
Required DLLs and Libraries
LVKRN 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: |
Example
This example will try to load a file into a given vector handle, it will try to not alter the provided handle if the file cannot be loaded.
L_INT VecCopyExample( L_TCHAR* pszFile, pVECTORHANDLE pVector) { L_INT nRet; VECTORHANDLE TempVector; /* Temporary vector handle. */ /* Load the file into the temporary vector. */ nRet = L_VecLoadFile( pszFile, &TempVector, NULL, NULL ); if( nRet != SUCCESS ) return nRet; /* Copy the new vector into the provided one. */ nRet = L_VecCopy( pVector, &TempVector, VECTOR_FLAGS_REPLACE ); if( nRet != SUCCESS ) { L_VecFree( &TempVector ); return nRet; } /* Free the temporary vector before returning. */ nRet = L_VecFree( &TempVector ); return nRet; }