#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerFlipAnnotationContainer(hCellWnd, nSubCellIndex, uFlags)
Flips the annotation container.
A handle to the window that represents the cell on which the function's effect will be applied.
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.
Reserved for future use. Pass 0.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function only flips the annotation container. It does not flip the image itself.
Required DLLs and Libraries
Platforms
The toolkit comes in Win32 and x64 editions that can support development of software applications for any of the following environments:
Windows 10
Windows 8
Windows 7
Windows Vista
Windows XP
Windows 2000
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 reserve on the right mouse button, and will rotate on the middle mouse button.
static L_INT EXT_CALLBACK MouseCallBack(HWND hCellWnd,
L_UINT uMessage,
pDISPCONTAINERCELLINFO pCellInfo,
L_VOID * pUserData)
{
UNREFERENCED_PARAMETER(pCellInfo);
UNREFERENCED_PARAMETER(hCellWnd);
UNREFERENCED_PARAMETER(pUserData);
BITMAPHANDLE Bitmap;
switch(uMessage)
{
case WM_LBUTTONUP:
{
L_DispContainerGetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, 0);
L_FlipBitmap(&Bitmap);
L_DispContainerSetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, TRUE, 0);
L_DispContainerFlipAnnotationContainer(hCellWnd, pCellInfo->nSubCellIndex, 0);
}
break;
case WM_MBUTTONUP:
L_DispContainerGetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, 0);
L_ReverseBitmap(&Bitmap);
L_DispContainerSetBitmapHandle(hCellWnd, pCellInfo->nSubCellIndex, &Bitmap, TRUE, 0);
L_DispContainerReverseAnnotationContainer(hCellWnd, pCellInfo->nSubCellIndex, 0);
break;
case WM_RBUTTONUP:
L_INT nAngle;
L_DispContainerRotateBitmapPerspective(hCellWnd, pCellInfo->nSubCellIndex, 90, 0);
L_DispContainerGetRotateBitmapPerspectiveAngle(hCellWnd, pCellInfo->nSubCellIndex, &nAngle, 0);
L_DispContainerRotateAnnotationContainer(hCellWnd, pCellInfo->nSubCellIndex, nAngle, 0);
break;
}
return SUCCESS;
}
L_INT DispContainerFlipAnnotationContainerExample(HDISPCONTAINER hCon)
{
DISPCONTAINERMOUSECALLBACK oldCallBack;
L_VOID * pOldUserData;
if (L_DispContainerGetCellCount(hCon, 0) == 0)
{
MessageBox(NULL, TEXT("you must at least have one cell added to the viewer"), TEXT("No Cell attached"), MB_OK);
return FAILURE;
}
HWND hCellWnd = L_DispContainerGetCellWindowHandle(hCon, 0, 0);
L_DispContainerGetMouseCallBack(hCellWnd, &oldCallBack, &pOldUserData);
L_DispContainerSetMouseCallBack(hCellWnd, MouseCallBack, hCon);
return SUCCESS;
}