L_DispContainerFlipAnnotationContainer

#include "l_bitmap.h"

L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerFlipAnnotationContainer(hCon, nCellIndex, nSubCellIndex, uFlags)

HDISPCONTAINER hCon;

/* handle to the container */

L_INT nCellIndex;

/* index of the cell */

L_INT nSubCellIndex;

/* index into the image list attached to the cell */

L_UINT uFlags;

/* reserved for future */

Flips the annotation container.

Parameter

Description

hCon

Handle to the container.

nCellIndex

A zero-based index of the cell to flip its annotation container. Pass -1 to flip the annotation container of all the cells in the container. Pass -2 to flip the annotation container of all the selected cells.

nSubCellIndex

A zero-based index into the image list attached to the cell specified in nCellIndex. This sub-cell contains the image that contains the annotation container. Pass -2 to refer to the selected sub-cell.

uFlags

Reserved for future use. Pass 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This function only flips the annotation container. It doesn�t flip the image itself.

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.

Platforms

Windows 95 / 98 / Me, Windows 2000 / XP, Windows CE.

See Also

Functions:

L_DispContainerRotateAnnotationContainer, L_DispContainerReverseAnnotationContainer, L_DispContainerGetAnnotationContainer, L_DispContainerSetAnnotationContainer, L_DispContainerAnnToRgn, L_DispContainerGetSelectedAnnotationAttributes, L_DispContainerSetAnnotationCallBack, L_DispContainerGetAnnotationCallBack, L_DispContainerGetAnnotationCreatedCallBack, L_DispContainerSetAnnotationCreatedCallBack, DISPCONTAINERANNOTATIONCALLBACK, DISPCONTAINERANNOTATIONCREATEDCALLBACK

Topics:

Working with Annotations

 

Image Viewer Functions: Working with Annotations

Example

This example will flip the image along with the annotation container if the user click on the image using the left mouse button, and will reservse on the right mouse button, and will rotate on the middle mouse button.

#if defined (LEADTOOLS_V16_OR_LATER)
static L_INT EXT_CALLBACK MouseCallBack(L_UINT                 uMessage,
                                 pDISPCONTAINERCELLINFO pCellInfo,
                                 L_VOID *               pUserData)
{
   UNREFERENCED_PARAMETER(pCellInfo);
   BITMAPHANDLE Bitmap;
   HDISPCONTAINER hCon = (HDISPCONTAINER)pUserData;

   switch(uMessage)
   {
   case WM_LBUTTONUP:
      {
         L_DispContainerGetBitmapHandle(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &Bitmap, 0);
         L_FlipBitmap(&Bitmap);
         L_DispContainerSetBitmapHandle(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &Bitmap, TRUE, 0);
         L_DispContainerFlipAnnotationContainer(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 0);
      }
      break;
   case WM_MBUTTONUP:
         L_DispContainerGetBitmapHandle(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &Bitmap, 0);
         L_ReverseBitmap(&Bitmap);
         L_DispContainerSetBitmapHandle(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &Bitmap, TRUE, 0);
         L_DispContainerReverseAnnotationContainer(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 0);
      break;
   case WM_RBUTTONUP:
         L_INT    nAngle;
         L_DispContainerRotateBitmapPerspective(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, 90, 0);
         L_DispContainerGetRotateBitmapPerspectiveAngle(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, &nAngle, 0);
         L_DispContainerRotateAnnotationContainer(hCon, pCellInfo->nCellIndex, pCellInfo->nSubCellIndex, nAngle, 0);
      break;
   }

   return SUCCESS;
}

L_INT DispContainerFlipAnnotationContainerExample(HDISPCONTAINER hCon)
{
   DISPCONTAINERMOUSECALLBACK oldCallBack;
   L_VOID *                   pOldUserData;

   L_DispContainerGetMouseCallBack(hCon, &oldCallBack, &pOldUserData);

   L_DispContainerSetMouseCallBack(hCon, MouseCallBack, hCon);

   return SUCCESS;
}
#endif