Available in LEADTOOLS Medical Imaging toolkits. |
L_DispContainerFlipAnnotationContainer
#include "l_bitmap.h"
L_LTIVW_API L_INT EXT_FUNCTION L_DispContainerFlipAnnotationContainer(hCellWnd, nSubCellIndex, uFlags)
HWND hCellWnd; |
/* handle to the cell window */ |
L_INT nSubCellIndex; |
/* index into the image list attached to the cell */ |
L_UINT uFlags; |
/* reserved for future */ |
Flips the annotation container.
Parameter |
Description |
hCellWnd |
A handle to the window that represents the cell on which the function's effect will be applied. |
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 does not 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
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_V17_OR_LATER #if defined (LEADTOOLS_V16_OR_LATER) 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; } #endif #else #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 #endif