ANNPOINTEROPTIONS

typedef struct tagANNPOINTEROPTIONS
{
   L_UINT32 uStructSize; 
   L_UINT uFlags; 
   L_INT nPointerHeadM; 
   L_INT nPointerHeadB; 
   L_INT32 nReserved; 
} ANNPOINTEROPTIONS, *pANNPOINTEROPTIONS;

The ANNPOINTEROPTIONS structure contains information about the pointer options of an ANNOBJECT_POINTER or ANNOBJECT_AUTOMATION object.

Member

Description

uStructSize

Size of this structure. Use sizeof(ANNPOINTEROPTIONS).

uFlags

Flag that indicates which fields are valid. Possible values are one or more of the following constants "or"ed together:

 

Value

Meaning

 

ANNPOINTER_HEAD

[0x0001] nPointerHeadM and nPointerHeadB fields are valid.

 

ANNPOINTER_ALL

[0x0001] All fields are valid.

nPointerHeadM

Value that determines the length of the pointer head (along with nPointerHeadB).

nPointerHeadB

Value that determines the length of the pointer head (along with nPionterHeadM).

nReserved

Reserved for future use. Pass 0.

Comments

When calling L_AnnGetPointerOptions function, the uFlags field identifies which fields to retrieve. When calling L_AnnSetPointerOptions function, the uFlags field identifies which fields to set.

For an ANNOBJECT_POINTER object, the length of the head is determined as a linear function of the line width of the object as follow:

LengthOfHead = (LineWidth) * (nPointerHeadM) + nPointerHeadB

Setting nPointerHeadM to 1 or more causes the pointer head length to change as the line width changes. Setting nPointerHeadM to 0, and nPointerHeadB to a non-zero value causes the pointer head length to stay constant, regardless of the line width.

When you create an ANNOBJECT_POINTER object in the automation mode, the values for nPointerHeadM and nPointerHeadB are being obtained from the automation object.

The ANNPOINTEROPTIONS structure is used with the functions L_AnnSetPointerOptions and L_AnnGetPointerOptions