LImageViewerCell::StartAnimation

Summary

Starts an animation in the specific cell(s).

Syntax

#include "ltwrappr.h"

L_INT LImageViewerCell::StartAnimation(nStartFrame, nFrameCount, bAnimateAllSubCells, uFlags)

Parameters

L_INT nStartFrame

Value that represents the initial frame to start animation from.

L_INT nFrameCount

Value that represents the number of frames that the animation will go through.

L_BOOL bAnimateAllSubCells

Flag that indicates whether to animate all sub-cells (If the cell layout shows more than one frame at a time). Possible values are:

Value Meaning
TRUE Animate all sub-cells.
FALSE Do not animate all sub-cells

L_UINT uFlags

Flags that determine whether to apply the feature on the one cell only, or more than one cell. This value can only be used when the cell is attached to the LImageViewer through the function LImageViewer::InsertCell. Possible values are:

Value Meaning
CELL_APPLYTOTHIS [0x00000000] Apply the feature to this cell only.
CELL_APPLYTOALL [0x10000000] Apply the feature to all the cells in the Image Viewer.
CELL_APPLYTOSELECTED [0x20000000] Apply the feature to the selected cells in the Image Viewer.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

The cell(s) must contain multiple frames.

To stop the animation, call the LImageViewerCell::StopAnimation function.

To check whether the cell is in an animation phase, call the LImageViewerCell::IsCellAnimated function.

The user can change or retrieve the animation properties even if the animation is started.

To retrieve the animation properties of a specific cell, call the LImageViewerCell::GetAnimationProperties function.

To change the animation properties of a specific cell, call the LImageViewerCell::SetAnimationProperties function.

The Image viewer must be created before calling this function or an error will be returned.

Required DLLs and Libraries

See Also

Functions

Topics

Example

This function starts an animation for the pass nCellIndex, we assumed that the cell with index (nCellIndex) contains multiple frames.

L_INT LImageViewer_StartAnimationExample(LImageViewerCell& ImageViewerCell)  
{ 
   DISPANIMATIONPROPS DispAnimationProps;  
   HBITMAPLIST        hBitmapList = NULL;  
   L_INT              nCount;  
   L_INT nRet = 0; 
 
   DispAnimationProps.uStructSize = sizeof(DISPANIMATIONPROPS); 
   nRet = ImageViewerCell.GetAnimationProperties(&DispAnimationProps, 0);  
   if(nRet != SUCCESS) 
      return nRet; 
 
   DispAnimationProps.uInterval = 100;  
   DispAnimationProps.uFlags = CONTAINER_ANIMATION_DIRECTION_FORWARD;  
 
   nRet = ImageViewerCell.SetAnimationProperties(&DispAnimationProps, 0);  
   if(nRet != SUCCESS) 
      return nRet; 
 
   nRet = ImageViewerCell.GetCellBitmapList(&hBitmapList, 0);  
   if(nRet != SUCCESS) 
      return nRet; 
 
   LBitmapList* pBitmapList = new LBitmapList(); 
   pBitmapList->SetHandle(hBitmapList,NULL,FALSE); 
 
   nCount = pBitmapList->GetItemsCount(); 
 
   if (!ImageViewerCell.IsCellAnimated(0))  
   { 
      nRet = ImageViewerCell.StartAnimation(0, nCount, TRUE, 0);  
      if(nRet != SUCCESS) 
         return nRet; 
   } 
 
   return SUCCESS;  
} 

Help Version 23.0.2024.3.20
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Medical Image Viewer C++ Class Library Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.