|
Available in LEADTOOLS Medical Imaging toolkits. |
LImageViewerCell::AnnotationCreatedCallBack
#include "ltwrappr.h"
virtual L_INT LImageViewerCell::AnnotationCreatedCallBack(nCellIndex, nSubCellIndex, uAnnotationType)
|
L_INT nCellIndex; |
/* index of the affected cell */ |
|
L_INT nSubCellIndex; |
/* index into the image list attached to the cell */ |
|
L_UINT uAnnotationType; |
/* annotation type */ |
This callback function is called every time the user creates on an annotation object.
|
Parameter |
Description |
|
|
nCellIndex |
A zero-based index of the cell that contains the annotation object. |
|
|
nSubCellIndex |
A zero-based index of the sub-cell that contains that annotation object. |
|
|
uAnnotationType |
Flag that determines the type of the currently selected annotation object. Possible values are: |
|
|
|
Value |
Meaning |
|
|
ANNOBJECT_TEXT |
[15] Text annotation object. |
|
|
ANNOBJECT_RECT |
[12] Rectangle annotation object. |
|
|
ANNOBJECT_ELLIPSE |
[4] Ellipse annotation object. |
|
|
ANNOBJECT_HILITE |
[6] Highlight annotation object. |
|
|
ANNOBJECT_PROTRACTOR |
[20] Protractor annotation object. |
|
|
ANNOBJECT_RULER |
[17] Ruler annotation object. |
Returns
|
SUCCESS |
The function was successful. |
|
< 1 |
An error occurred. Refer to Return Codes. |
Comments
In order to use this callback function, it must first be set by calling the LImageViewerCell::EnableAnnotationCreatedCallBack function.
Required DLLs and Libraries
|
LTIVW For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
See Also
Example
This example converts the annotation object (rectangle, ellipse and hilite) into a region once the user draws them
#if defined LTV17_CONFIG
#ifdef LImageViewerChild
class LImageViewerChild :public LImageViewerCell
{
virtual L_INT AnnotationCreatedCallBack(L_INT nCellIndex,
L_INT nSubCellIndex,
L_UINT uAnnotationType);
};
#endif
L_INT LImageViewerChild::AnnotationCreatedCallBack(L_INT nCellIndex,
L_INT nSubCellIndex,
L_UINT uAnnotationType)
{
UNREFERENCED_PARAMETER(nCellIndex);
switch(uAnnotationType)
{
case ANNOBJECT_RECT:
case ANNOBJECT_ELLIPSE:
case ANNOBJECT_HILITE:
AnnToRgn(nSubCellIndex, L_RGN_OR, TRUE, 0);
break;
}
return SUCCESS;
}
L_INT LImageViewer_AnnotationCreatedCallbacksExample(LImageViewerCell& ImageViewerCell)
{
ImageViewerCell.EnableAnnotationCreatedCallBack(TRUE);
return SUCCESS;
}
#else
#ifdef LImageViewerChild
class LImageViewerChild :public LImageViewerCell
{
virtual L_INT AnnotationCreatedCallBack(L_INT nCellIndex,
L_INT nSubCellIndex,
L_UINT uAnnotationType);
};
#endif
L_INT LImageViewerChild::AnnotationCreatedCallBack(L_INT nCellIndex,
L_INT nSubCellIndex,
L_UINT uAnnotationType)
{
switch(uAnnotationType)
{
case ANNOBJECT_RECT:
case ANNOBJECT_ELLIPSE:
case ANNOBJECT_HILITE:
AnnToRgn( nCellIndex, nSubCellIndex, L_RGN_OR, TRUE, 0);
break;
}
return SUCCESS;
}
L_INT LImageViewer_AnnotationCreatedCallbacksExample(LImageViewer& ImageViewer)
{
ImageViewer.EnableAnnotationCreatedCallBack(TRUE);
return SUCCESS;
}
#endif // LTV17_CONFIG