Displaying and Manipulating Annotation Objects

(Document and Medical Imaging toolkits)

L_AnnDraw can be used to display a specific annotation object. If the annotation object is within a container, call L_AnnBringToFront or L_AnnSendToBack to alter the object�s display order within the container.

The L_AnnSetAutoDrawEnable function enables or disables the default use of the left mouse button to draw an annotation object in design mode. To implement the automated design mode for annotations, this function must be set to TRUE, and the L_AnnSetUserMode function must be set to ANNUSERMODE_DESIGN.

To apply an annotation object to the bitmap itself, call L_AnnRealize. This application is permanent, except when realizing a redact object. Realized redact objects store the background behind them within the object. Call L_AnnUnrealize to restore the background hidden by the redact object.

Call the L_AnnSetVisible function to make an object visible. When an object is not visible, it cannot be displayed. Some objects (notably containers) may be transparent, but if their visible-object property is set to TRUE, a user can select them with a mouse. Call the L_AnnGetVisible function to determine whether the specified object is visible.

The following functions may be used to work with containers and the objects they contain:

L_AnnBringToFront

L_AnnCopyFromClipboard

L_AnnConvert

L_AnnCreateContainer

L_AnnCreateItem

L_AnnCutToClipboard

L_AnnDraw

L_AnnGetAutoContainer

L_AnnGetContainer

L_AnnGetItem

L_AnnGetRestrictToContainer

L_AnnGetSelectCount

L_AnnGetSelectRect

L_AnnGetTopContainer

L_AnnGroup

L_AnnInsert

L_AnnRemove

L_AnnSendToBack

L_AnnSetAutoContainer

L_AnnSetGrouping

L_AnnSetRestrictToContainer

L_AnnUngroup

The following functions may be used to select the annotation object(s) to manipulate

L_AnnCutToClipboard

L_AnnGetContainer

L_AnnGetSelectCount

L_AnnGetSelected

L_AnnGetSelectItems

L_AnnGetSelectRect

L_AnnGetTopContainer

L_AnnGetType

L_AnnHitTest

L_AnnInsert

L_AnnRemove

L_AnnSelectPoint

L_AnnSelectRect

L_AnnSetSelected

L_AnnShowLockedIcon

If the annotation object(s) are Stamp or Point objects and are using a bitmap, the user can call the following functions to set the bitmap transparency:

L_AnnGetTransparent

L_AnnSetTransparent

L_AnnGetTransparentColor

L_AnnSetTransparentColor

Use the L_AnnSetOptions function and the L_AnnGetOptions function to control the following features:

For more information about these features, refer to Annotation Features.

If the annotation objects are container, automation, text, text pointer, stamp, note, pushpin, or button objects it is possible to use the L_AnnGetTextOptions and the L_AnnSetTextOptions functions to set the objects to show or hide the text and to set the color of the text. In addition, if the annotation objects are text or stamp objects these functions can set the objects to show or hide the borders of the object. Note that these features must be enabled using the L_AnnSetOptions function.

Use the L_AnnSetFillMode and L_AnnGetFillMode functions to manage the fill mode used by annotation objects.

Set the color display options of any annotation object by calling the following functions:

L_AnnGetROP2

L_AnnSetROP2

The user can perform geometric transformations on an annotation object by calling the following functions:

L_AnnDefine

L_AnnBringToFront

L_AnnFlip

L_AnnMove

L_AnnResize

L_AnnReverse

L_AnnRotate

L_AnnSendToBack

L_AnnDefine2

Automation Cursor Snap Behavior

Use the L_AnnSetAutoSnapCursor function to set the automation cursor behavior when clicking outside the container. It has no effect on the behavior of the cursor when clicking inside the container. When creating annotations using automation in design mode, the user first chooses an annotation tool. Next, the user clicks the mouse in the window containing the image, either on or outside the container (annotation image).

If cursor snapping is enabled and the user clicks outside the container the cursor will "snap" to the container border,  as shown in the figure.

If cursor snapping is disabled and the user clicks outside the container but in the window, drawing of the annotation object begins with the annotation object outside of the container.

The default for behavior is to have cursor snapping enabled. Use the L_AnnGetAutoSnapCursor function to get a value that indicates whether snapping is enabled.