#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.
Handle to the annotation object.
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 |
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.
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. |
Value | Meaning |
---|---|
SUCCESS | 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:
A value of -1 means to leave the existing nAlpha value unchanged
A value of 0 means the annotation object background is completely transparent
A value of 255 means the annotation background is completely opaque.
Any value between 0 and 255 can be used to specify a varying degree of transparency.
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
Win32, x64.
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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document