L_VecGetObjectAttributes
#include "lvkrn.h"
L_INT EXT_FUNCTION L_VecGetObjectAttributes(pVector, pObject, pnROP, pPen, pBrush, pFont)
const pVECTORHANDLE pVector; |
/* pointer to a vector handle */ |
const pVECTOROBJECT pObject; |
/* pointer to a vector object */ |
/* ROP code */ | |
pVECTORPEN pPen; |
/* pen characteristics */ |
pVECTORBRUSH pBrush; |
/* brush characteristics */ |
pVECTORFONT pFont; |
/* font characteristics */ |
Gets the attributes of an object.
Parameter |
Description |
pVector |
Pointer to a vector handle. |
pObject |
Pointer to the vector object for which to get the attributes. |
pnROP |
Pointer to a variable to be updated with the object's ROP code. For more information on valid ROP2 codes, refer to your SDK.. |
pPen |
Pointer to a VECTORPEN structure to be updated with the characteristics of the pen to use when drawing the class object. If you do not wish to retrieve this information, pass NULL. |
pBrush |
Pointer to a VECTORBRUSH structure to be updated with the characteristics of the brush to use when drawing the class object. |
pFont |
Pointer to a VECTORFONT structure to be updated with the characteristics of the font used by the class object. |
Returns
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Comments
If NULL is passed for pnROP, pPen, pBrush and/or pFont, then that parameter will not be updated with the corresponding value. For example, if NULL is passed for the pFont parameter, the pFont parameter will not be updated with the font information for the specified object.
Certain parameters are ignored depending on pObject. For example, if pObject is VECTOR_LINE, then the pBrush and pFont parameters are ignored.
This function provides a simpler way of retrieving object information, without having to get the object descriptor, inspect the object type and then free the descriptor.
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: |
L_VecSetObjectAttributes, L_VecGetObject, L_VecSetObject, L_VecFreeObject |
Topics: |
Example
/* This example will get the line color of the object under a given point regardless of its type */
COLORREF GetObjectPenColor( pVECTORHANDLE pVector, POINT *pt )
{
L_INT nRet;
VECTOROBJECT Object;
VECTORPEN Pen;
COLORREF Color;
/* hit test */
nRet = L_VecHitTest( pVector, pt, &Object );
if( nRet == SUCCESS )
{
/* get its PEN */
L_VecGetObjectAttributes( pVector, &Object, NULL, &Pen, NULL, NULL );
if( Pen.bExtPen )
Color = Pen.NewPen.ExtLogPen.elpColor;
else
Color = Pen.NewPen.LogPen.lopnColor;
}
else
Color = RGB( 0, 0, 0 ); // no object under color, assume black is default
return Color;
}