// -----------------------------------------------------------------------------
// CSvgTimeContainer::UserSeek
// Called to handle user/client generated seek event
// -----------------------------------------------------------------------------
//
void CSvgTimeContainer::UserSeek( 
    TInt aTime ) // Time in msecs to seek
    {
    if ( iTimer )
        {
        //if ( iOwnerDoc && iCurrentTime != aTime )
        if ( iOwnerDoc)
            {
            iCurrentTime = aTime;
            iCurrentTick.iParentTcTick = aTime;
            iCurrentTick.iRealTimeTick = aTime;
            TSvgTimerEvent timeEvent( iCurrentTime );
            iOwnerDoc->Reset( &timeEvent );
            }            

        iTimer->SetSeekTime( aTime );
        }
    // Need to send user resume events to timed entities
    SetUserState(ESvgUserRunning);
    TInt lTimedEntityListCnt = iTcTimedEntities.Count();
    for ( TInt lItemIndex = lTimedEntityListCnt - 1; lItemIndex >= 0 ; lItemIndex-- )
    	{
		UserResumeElement( &iTcTimedEntities[ lItemIndex ] );
    	}
    
    UserResumeElement(&iLrteListItem);
    }
// -----------------------------------------------------------------------------
// CSvgTimeContainer::UserResume
// Called to handle user/client generated resume event
// -----------------------------------------------------------------------------
//
void CSvgTimeContainer::UserResume( TInt32 aTime )
    {
        
    SetUserState(ESvgUserRunning);
    if ( iTimer )
        {
        iTimer->SVGResume( aTime );
        }
        
    
    
    /*
    UserResume()
    {
      For all timed entities
    {
      UserResumeElement()
         }
    }
  */
  
    TInt lTimedEntityListCnt = iTcTimedEntities.Count();
    for ( TInt lItemIndex = lTimedEntityListCnt - 1; lItemIndex >= 0 ; lItemIndex-- )
      {
      UserResumeElement(&iTcTimedEntities[ lItemIndex ]);
      }
      
      
    UserResumeElement(&iLrteListItem);

    }
// -----------------------------------------------------------------------------
//
void CSvgTimeContainer::UserStop()
    {
    SetUserState(ESvgUserStopped);
    // Cancel the timer
    if ( iTimer )
        {
        iTimer->SVGStop();
        }    
    TInt lTimedEntityListCnt = iTcTimedEntities.Count();
    for ( TInt lItemIndex = lTimedEntityListCnt - 1; lItemIndex >= 0 ; lItemIndex-- )
        {
        UserStopElement(&iTcTimedEntities[lItemIndex]);
        }
    UserStopElement(&iLrteListItem);
    
    }
void CSvgTimeContainer::UserStopElement(TSvgTimedEntityListItem* aTimedEntity)
{
  aTimedEntity->iTimedEntity->StopTimedEntity();
  
  aTimedEntity->iIsSyncPaused = EFalse;
  
  SetUserState(ESvgUserStopped);
  
  if(aTimedEntity->iTimedEntity->ObjectType() == ESvgMediaAnimationElement)  
    {
          CSvgTimeContainer* AnimTimeContainer = aTimedEntity->iTimedEntity->GetChildTimeContainer();
          if(AnimTimeContainer)
          {
              AnimTimeContainer->UserStop();
          }
    }
}
示例#5
0
HRESULT	CToolMgr::InitToolMgr(HWND hWnd)
{
	m_hWnd = hWnd;

	m_Log.AddLog(LOG_TYPE_TOOLWORK, "서버 매니저 툴 초기화 작업 시작...");

	m_WinSockMgr.InitWinSockMgr();
	m_DialogMgr.InitDialogMgr();

	m_Log.AddLog(LOG_TYPE_TOOLWORK, "서버 매니저 툴 초기화 작업 끝...");

	m_bConnected = false;

	SetLoginID(UNKNOWNED_USER);
	SetUserState(USER_STATE_OFFLINE);

	return S_OK;
}