L_AnnGetPointOptions

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnGetPointOptions(hObject, pPointOptions, uStructSize)

HANNOBJECT hObject;

/* handle to the annotation object */

pANNPOINTOPTIONS pPointOptions;

/* pointer to an ANNPOINTOPTIONS structure that specifies various point options */

L_UINT uStructSize;

/* size of the ANNPOINTOPTIONS structure */

Gets the options for the specified point annotation object.

Parameter

Description

hObject

Handle to the annotation object.

pPointOptions

Pointer to an ANNPOINTOPTIONS structure to be updated with the various point appearance options for the specified annotation object.

uStructSize

Size in bytes, of the structure pointed to by pPointOptions, for versioning. Use sizeof(ANNPOINTOPTIONS).

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

Use this function to get the point appearance options of an annotation point object. To use this function, declare a variable a type ANNPOINTOPTIONS, and pass the address of this variable as the second argument. For more information, see the documentation for the structure ANNPOINTOPTIONS.

Required DLLs and Libraries

LTANN

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64.

See Also

Functions:

L_AnnGetMetafile, L_AnnSetMetafile, L_AnnGetPredefinedMetafile, L_ScrambleBitmap, L_AnnEncryptApply, L_AnnSetEncryptOptions, L_AnnGetPredefinedBitmap

Topics:

Annotation Functions: Object Properties

 

Annotation Objects - Default Values

 

Annotation Objects - Automated Features

 

Implementing an Automated Annotation Program

 

Implementing a Non-automated Annotation Program

Example

This example toggles the appearance of a point annotation object. The appearance toggles between a bitmap an a circle.

 L_INT AnnGetPointOptionsExample(HANNOBJECT hObject)
{
   L_INT nRet;
   ANNPOINTOPTIONS   PointOptions;
   L_UINT            uObjectType;

   nRet = L_AnnGetType(hObject, &uObjectType);
   if(nRet != SUCCESS)
      return nRet;
   if (uObjectType != ANNOBJECT_POINT)
   {
      MessageBox(NULL, TEXT("This object is not a point object"), TEXT("Error"), MB_OK);
      return 0;
   }
   
   memset(&PointOptions, 0, sizeof(ANNPOINTOPTIONS));
   PointOptions.uStructSize   = sizeof(ANNPOINTOPTIONS);
   PointOptions.uFlags        = ANNPOINT_ALL;
   nRet = L_AnnGetPointOptions(hObject, &PointOptions, sizeof(ANNPOINTOPTIONS));
   if(nRet != SUCCESS)
      return nRet;

   if (PointOptions.bPointUseBitmap)
   {
      // Change point appearance to a circle
      PointOptions.uStructSize            = sizeof(ANNPOINTOPTIONS);
      PointOptions.bPointUseBitmap        = FALSE;
      PointOptions.bPointFixedSize        = FALSE;
      PointOptions.bPointTransparentFill  = FALSE;
      PointOptions.crPointBorderColor     = RGB(0,0,0);
      PointOptions.crPointFillColor       = RGB(255, 255, 0);
      PointOptions.nPointRadius           = 12;
      PointOptions.nReserved              = 0;
      PointOptions.uFlags                 = ANNPOINT_USE_BITMAP        |
                                            ANNPOINT_RADIUS            |
                                            ANNPOINT_BORDER_COLOR      |
                                            ANNPOINT_FILL_COLOR        |
                                            ANNPOINT_TRANSPARENT_FILL  |
                                            ANNPOINT_FIXED_SIZE;
   }
   else
   {
      // Change point appearance to a bitmap
      PointOptions.uStructSize                     = sizeof(ANNPOINTOPTIONS);
      PointOptions.bPointUseBitmap                 = TRUE;
      PointOptions.bPointBitmapTransparent         = TRUE;
      PointOptions.crPointBitmapTransparentColor   = RGB(255,255,255);
      PointOptions.nReserved                       = 0;
   }

   nRet = L_AnnSetPointOptions(hObject, &PointOptions, 0);
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}