#include "l_bitmap.h"
L_LTDIS_API L_INT L_GetPlaybackIndex(hPlayback, pnIndex)
HPLAYBACK hPlayback;  | 
playback handle  | 
L_INT *pnIndex;  | 
address of the variable to be updated  | 
Gets the list index of the current bitmap during animation playback.
Parameter  | 
Description  | 
hPlayback  | 
Handle that references the animation playback.  | 
pnIndex  | 
Address of the variable to be updated with the index of the current bitmap.  | 
SUCCESS  | 
The function was successful.  | 
< 1  | 
An error occurred. Refer to Return Codes.  | 
Required DLLs and Libraries
| 
 For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.  | 
Win32, x64, Linux.
This example uses L_GetPlaybackIndex and L_SetPlaybackIndex to skip bitmaps during a playback.
L_INT GetPlaybackIndexExample(L_HWND hWnd,pBITMAPHANDLE pTargetBitmap,HBITMAPLIST hList){L_INT nRet;HPLAYBACK hPlayback; /* Animation playback */L_UINT uState; /* Next state in the playback */RECT rcUpdate; /* Source clipping rectangle used in playback */RECT rcDisplay; /* Display rectangle used in playback */HDC hdc; /* Device context of the current window */HPALETTE hPalette = NULL; /* Temporary copy of the current system palette */L_INT nIndex = 0; /* Current index to the bitmap list */L_UINT uCount = 0; /* Number of bitmaps in the list */HPALETTE hpalPaint = NULL;/* Use the client area as the display rectangle */GetClientRect(hWnd,&rcDisplay);/* Get the number of bitmaps in the list */nRet = L_GetBitmapListCount(hList, &uCount);if(nRet != SUCCESS)return nRet;/* Create and run the playback */nRet = L_CreatePlayback(&hPlayback, pTargetBitmap, hList);if(nRet != SUCCESS)return nRet;do{nRet = L_ProcessPlayback(hPlayback, &uState);if(nRet != SUCCESS)return nRet;switch(uState){case PLAYSTATE_PRERENDER:nRet = L_GetPlaybackIndex(hPlayback, &nIndex);if(nRet != SUCCESS)return nRet;nRet = L_SetPlaybackIndex(hPlayback, ++nIndex);if(nRet != SUCCESS)return nRet;break;case PLAYSTATE_POSTRENDER:nRet = L_GetPlaybackUpdateRect(hPlayback, &rcUpdate, TRUE);if(nRet != SUCCESS)return nRet;hdc = GetDC(hWnd);if (hpalPaint){hPalette = SelectPalette (hdc, hpalPaint, TRUE);RealizePalette(hdc);}nRet = L_PaintDC(hdc, pTargetBitmap, NULL, &rcUpdate, &rcDisplay, &rcDisplay, SRCCOPY);if(nRet != SUCCESS)return nRet;if (hpalPaint)SelectPalette (hdc, hPalette, TRUE);ReleaseDC(hWnd, hdc);break;}} while(nIndex < (L_INT) uCount);/* Clean up */nRet = L_DestroyPlayback(hPlayback, NULL);if(nRet != SUCCESS)return nRet;return SUCCESS;}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
