L_AnnSetFillMode

#include "l_bitmap.h"

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

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

Parameters

HANNOBJECT hObject

Handle to the annotation object.

L_UINT uFillMode

The constant that specifies the object's fill mode. Possible fill mode values are:

Value Meaning
ANNMODE_TRANSPARENT [0] Transparent
ANNMODE_TRANSLUCENT [1] Translucent
ANNMODE_OPAQUE [2] Opaque
ANNMODE_ALPHA [3] Alpha

L_INT 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.

L_UINT 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.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

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:

image\alpha.gif

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

Platforms

Win32, x64.

See Also

Functions

Topics

Example

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; 
 
   switch(uFillMode) 
   { 
   case ANNMODE_TRANSPARENT: 
      uFillMode = ANNMODE_TRANSLUCENT; 
      break; 
 
   case ANNMODE_TRANSLUCENT: 
      uFillMode = ANNMODE_OPAQUE; 
      break; 
 
   case ANNMODE_OPAQUE: 
      uFillMode = ANNMODE_ALPHA; 
      break; 
 
   case ANNMODE_ALPHA: 
   default: 
      uFillMode = ANNMODE_TRANSPARENT; 
      break; 
   } 
 
   // 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 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help