#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnSetFillMode(hObject, uFillMode, nAlpha, uFlags)


handle to the annotation object

L_UINT uFillMode;

constant that specifies the object's fill mode

L_INT nAlpha;

integer that specifies the objects alpha value

L_UINT uFlags;

flags that determine which objects to process

Sets the fill mode and alpha of the specified annotation object.

Parameter Description
hObject Handle to the annotation object.
uFillMode The constant that specifies the object's fill mode. Possible fill mode values are:
  Value Meaning
nAlpha Value that specifies the objects alpha value. This is only valid if uFillMode is ANNMODE_ALPHA. Possible values are: -1..255. For an explanation of these values, refer to the Comments section below.
uFlags Flags that determine which objects to process. Most of the flags apply only to container objects. You can combine values when appropriate by using a bitwise OR ( | ). The following are valid values:
  Value Meaning
  0 Process only the specified object.
  ANNFLAG_SELECTED [0x0001] Process only objects that have the selected property set to TRUE. For getting and setting the selected property, use the L_AnnGetSelected and L_AnnSetSelected functions.
  ANNFLAG_NOTTHIS [0x0004] Process only one level of objects within the specified container, not the container itself. If there are containers within the container, they are modified, but the objects within them are not.
  ANNFLAG_RECURSE [0x0008] Process objects within a container, and within any subcontainers, down to any level.
  ANNFLAG_NOTCONTAINER [0x0002] (Used with ANNFLAG_RECURSE) Process objects within containers, not the containers themselves.
  ANNFLAG_NOINVALIDATE [0x0010] Do not invalidate the affected rectangle in the window. Use this to avoid generating unwanted paint messages.
  ANNFLAG_CHECKMENU [0x0020] Process objects only if the ANNAUTOTEXT_MENU_FILL menu item has been selected.



The function was successful.

< 1

An error occurred. Refer to Return Codes.


You can use this function to set the fill mode for annotation objects. This function supports the new fill mode ANNMODE_ALPHA.

Before calling L_AnnSetFillMode enable alpha background filling. You can enable alpha background filling by using the following code snippet:

L_VOID ExampleEnableOption(HANNOBJECT hAutomation) 
   L_UINT uOptions = 0; 
   L_AnnGetOptions ( hAutomation); 
   L_AnnSetOptions ( hAutomation, uOptions | OPTIONS_NEW_ALPHA); 

The following figure displays rectangle annotation objects using different alpha values:


The nAlpha parameter is used only if the uFillMode parameter is passed as ANNMODE_ALPHA, in which case, nAlpha can be between -1 and 255 inclusive. Values are used as follows:

Note that the L_AnnSetROP2 function and the L_AnnSetFillMode function affect each other. If you set uFillMode to ANNFILLMODE_OPAQUE, then uROP2 cannot be ANNROP2_AND. If you set uFillMode to ANNFILLMODE_TRANSLUCENT, then uROP2 has to be ANNROP2_AND. If you set uFillMode to ANNFILLMODE_TRANSPARENT, uROP2 can be anything.

To see the possible fill modes and patterns, refer to Illustration of Fill Options for Annotations.

This function applies to multiple and selected objects based on values of the uFlags parameter.

This function does not affect objects that do not have this property or that do not let you change the property. For descriptions of the various types of objects and their properties, refer to Types of Annotations.

Required DLLs and Libraries


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


Win32, x64.

See Also


L_AnnGetFillMode, L_AnnSetFillPattern, L_AnnGetFillPattern, L_AnnGetPolyFillMode, L_AnnSetPolyFillMode, L_AnnGetROP2, L_AnnSetROP2, L_AnnSetOptions, L_AnnGetOptions


Annotation Features


Annotation Functions (Document/Medical only): Displaying Annotations


Annotation Functions: Object Information


Annotation Objects - Default Values


Annotation Objects - Automated Features


Implementing Annotations


Implementing a Non-automated Annotation Program


Obtaining Annotation Object Information


Altering Annotation Object Settings


Illustration of Fill Options for Annotations


User Interface for Container and Automation Objects


Displaying and Manipulating Annotation Objects


Container Annotation Object


Annotation Automation Object


Annotation Functions (Document/Medical only): Getting and Setting Color Properties


Annotation Functions (Document/Medical only): Getting and Setting the Alpha Property


// The background color is set to blue in each case 
L_INT AnnSetFillModeExample(HANNOBJECT hObject) 
   L_INT    nRet; 
   L_UINT   uFillMode; 
   nRet = L_AnnGetFillMode(hObject, &uFillMode, NULL); 
   if (nRet != SUCCESS) 
      return nRet; 
   nRet = L_AnnSetBackColor(hObject, RGB(0,0,255), 0); 
   if(nRet != SUCCESS) 
      return nRet; 
      uFillMode = ANNMODE_OPAQUE; 
      case ANNMODE_OPAQUE: 
      uFillMode = ANNMODE_ALPHA; 
      case ANNMODE_ALPHA: 
   // Arbitrarily set an alpha value of 128 
   // Note that this value is used only if the uFillMode is ANNMODE_ALPHA 
   nRet = L_AnnSetFillMode(hObject, uFillMode, 128, 0); 
   return nRet; 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C API Help