L_VecCopy (original) (raw)
Summary
Copies one vector handle to another.
Syntax
#include "ltvkrn.h"
L_LVKRN_API L_INT L_VecCopy(pDst, pSrc, dwFlags)
Parameters
pVECTORHANDLE pDst
Pointer to the target vector handle.
const pVECTORHANDLE pSrc
Pointer to the source vector handle.
L_UINT32 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
Value | Meaning |
---|---|
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
- LTVKRN
- 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_LTVKRNTEX_API 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;
}