LAnimationWindow::GetRemainingDelay

#include "ltwrappr.h"

L_UINT32 LAnimationWindow::GetRemainingDelay()

Gets the time remaining in the current wait state of an animation playback.

Returns

The number of milliseconds remaining.

Comments

Use this function during playback, inside the LAnimationWindow::AnimateEvent callback function, to query for the delay time remaining for the current frame.

Required DLLs and Libraries

LTDIS
LTDLG
LTEFX
LTFIL
LTIMG
LTSCR
LTTWN

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

Win32, x64.

See Also

Functions:

LAnimationWindow::LAnimationWindow, LAnimationWindow::IsPlaying, LAnimationWindow::PlayAnimation, LAnimationWindow::CancelWait, LAnimationWindow::AnimateEvent, Class Members

Topics:

Raster Image Functions: Creating and Maintaining Lists of Images

 

Implementing Animation

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName
class MyClass : public LAnimationWindow
{
   public :
      virtual L_VOID AnimateEvent(L_INT nEvent,L_INT nFrameNumber)
      {
         switch (nEvent)
         {
            case EVENT_PLAYSTATE_WAITINPUT :
               CancelWait();
            break;
            case EVENT_PLAYSTATE_WAITDELAY :
               if (GetRemainingDelay()<1000)
               CancelWait();
            break;
         }
         //call base class
         LAnimationWindow::AnimateEvent(nEvent, nFrameNumber);
      }
};
L_INT LAnimationWindow_GetRemainingDelayExample(HWND hWndParent)
{
   L_INT nRet;
   LBase::LoadLibraries(LT_ALL_LEADLIB); //make sure all libraries are loaded
   WRPUNLOCKSUPPORT();//unlock GIF support
   MyClass MyAnimation;
   MyAnimation.SetFileName(MAKE_IMAGE_PATH(TEXT("eye.gif")));
   nRet = MyAnimation.Load();
   if (nRet==SUCCESS)
   {
      nRet = MyAnimation.SetDelay(2500);
      if(nRet != SUCCESS)
         return nRet;
      MyAnimation.CreateWnd(hWndParent,0, WS_VISIBLE|WS_CHILD|WS_BORDER,0,0,300,300);      
      nRet = MyAnimation.EnableAnimateEvent();
      if(nRet != SUCCESS)
         return nRet;
      nRet = MyAnimation.PlayAnimation(); 
      if(nRet != SUCCESS)
         return nRet;
      while (MyAnimation.IsPlaying())
      { 
         if (MyAnimation.DoEvents()) 
            break;  
      }  
   }
   else
      return nRet;
   return SUCCESS;
}