|
Available in LEADTOOLS Vector Imaging toolkits. |
L_VecEnumObjectsInLayer
#include "lvkrn.h"
L_LVKRN_API L_INT L_VecEnumObjectsInLayer(pVector, pLayer, pEnumProc, pUserData, dwFlags)
|
pVECTORHANDLE pVector; |
/* pointer to a vector handle */ |
|
const pVECTORLAYER pLayer; |
/* pointer to a vector layer */ |
|
pVECTORENUMOBJECTSPROC pEnumProc; |
/* pointer to a callback function */ |
|
L_VOID * pUserData; |
/* pointer to more parameters for the callback */ |
|
L_UINT32 dwFlags; |
/* flags */ |
Enumerates all objects inside a vector layer.
|
Parameter |
Description |
|
|
pVector |
Pointer to a vector handle. |
|
|
pLayer |
Pointer to a vector layer. The objects inside this layer will be enumerated. If this parameter is NULL, objects inside the current active layer in the vector handle will be enumerated. |
|
|
pEnumProc |
Pointer to the callback function used to enumerate the vertices within the vector handle. The callback function must adhere to the function prototype described in VECTORENUMOBJECTSPROC. |
|
|
pUserData |
Void pointer that you can use to pass one or more additional parameters that the callback function needs. |
|
|
|
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. |
|
|
|
If the additional parameters are not needed, you can pass NULL in this parameter. |
|
|
dwFlags |
Flag that indicates which objects to enumerate. Possible values are: |
|
|
|
Value |
Meaning |
|
|
0 |
Enumerate all objects in the layer. |
|
|
VECTOR_FLAGS_SELECTED_ONLY |
Enumerate only selected objects in the layer. |
Returns
|
SUCCESS |
The function was successful. |
|
< 1 |
An error occurred. Refer to Return Codes. |
Comments
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: |
|
|
Topics: |
Example
This example will select all objects inside the current active layer.
static L_INT EXT_CALLBACK EnumObjectsProc(pVECTORHANDLE pVector,
pVECTOROBJECT pObject,
L_VOID* pData )
{
L_INT nRet;
VECTOROBJECT ObjectDesc;
UNREFERENCED_PARAMETER( pData );
/* Select the object */
nRet = L_VecGetObject( pVector, pObject, VECTOR_OBJECT, &ObjectDesc );
if(nRet != SUCCESS)
return nRet;
ObjectDesc.dwFlags |= VECTOR_OBJECT_SELECTED;
nRet = L_VecSetObject( pVector, pObject, VECTOR_OBJECT, &ObjectDesc );
if(nRet != SUCCESS)
return nRet;
nRet = L_VecFreeObject( VECTOR_OBJECT, &ObjectDesc );
/* Continue the enumeration */
return nRet;
}
L_INT VecEnumObjectsInLayerExample(pVECTORHANDLE pVector)
{
L_INT nRet;
/* Enum all objects inside the current active layer */
nRet = L_VecEnumObjectsInLayer( pVector, NULL, (pVECTORENUMOBJECTSPROC)EnumObjectsProc, NULL, 0L );
return nRet;
}