// Creates and initializes the main animation components. HRESULT FirstTry::InitializeAnimation() { // Create Animation Manager. HRESULT hr = CoCreateInstance(CLSID_UIAnimationManager, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationManager)); // Create Animation Timer. if (SUCCEEDED(hr)) { hr = CoCreateInstance(CLSID_UIAnimationTimer, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationTimer)); // Create Animation Transition Library if (SUCCEEDED(hr)) { hr = CoCreateInstance(CLSID_UIAnimationTransitionLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pTransitionLibrary)); // Create and set the ManagerEventHandler to start updating when animations are scheduled if (SUCCEEDED(hr)) { IUIAnimationManagerEventHandler *pManagerEventHandler; hr = CManagerEventHandler::CreateInstance(this, &pManagerEventHandler); if (SUCCEEDED(hr)) { hr = m_pAnimationManager->SetManagerEventHandler(pManagerEventHandler); pManagerEventHandler->Release(); } } } } return hr; }
HRESULT touchmind::Context::_InitializeAnimation() { #ifdef TOUCHMIND_CONTEXT_DEBUG LOG_ENTER; #endif HRESULT hr = S_OK; hr = CoCreateInstance(CLSID_UIAnimationManager, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationManager)); if (SUCCEEDED(hr)) { hr = CoCreateInstance(CLSID_UIAnimationTimer, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationTimer)); } if (SUCCEEDED(hr)) { hr = CoCreateInstance(CLSID_UIAnimationTransitionLibrary, nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pTransitionLibrary)); } IUIAnimationTimerUpdateHandler *pTimerUpdateHandler = nullptr; if (SUCCEEDED(hr)) { hr = m_pAnimationManager->QueryInterface(IID_PPV_ARGS(&pTimerUpdateHandler)); } if (SUCCEEDED(hr)) { hr = m_pAnimationTimer->SetTimerUpdateHandler( pTimerUpdateHandler, UI_ANIMATION_IDLE_BEHAVIOR_CONTINUE); // UI_ANIMATION_IDLE_BEHAVIOR_DISABLE pTimerUpdateHandler->Release(); } IUIAnimationManagerEventHandler *pAnimationManagerEventHandler = nullptr; if (SUCCEEDED(hr)) { hr = touchmind::animation::AnimationManagerEventHandler::CreateInstance(m_animationStatusChangedListener, &pAnimationManagerEventHandler); } if (SUCCEEDED(hr)) { hr = m_pAnimationManager->SetManagerEventHandler(pAnimationManagerEventHandler); pAnimationManagerEventHandler->Release(); } m_pAnimationTimer->Enable(); #ifdef TOUCHMIND_CONTEXT_DEBUG LOG_LEAVE_HRESULT(hr); #endif return hr; }
HRESULT CMainWindow::InitializeAnimation() { // Create Animation Manager HRESULT hr = CoCreateInstance( CLSID_UIAnimationManager, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationManager) ); if (SUCCEEDED(hr)) { // Create Animation Timer hr = CoCreateInstance( CLSID_UIAnimationTimer, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pAnimationTimer) ); if (SUCCEEDED(hr)) { // Create Animation Transition Library hr = CoCreateInstance( CLSID_UIAnimationTransitionLibrary, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_pTransitionLibrary) ); if (SUCCEEDED(hr)) { // Create and set the ManagerEventHandler to start updating when animations are scheduled IUIAnimationManagerEventHandler *pManagerEventHandler; hr = CManagerEventHandler::CreateInstance( this, &pManagerEventHandler ); if (SUCCEEDED(hr)) { hr = m_pAnimationManager->SetManagerEventHandler( pManagerEventHandler ); pManagerEventHandler->Release(); if (SUCCEEDED(hr)) { // Create the PriorityComparisons for canceling and trimming storyboards IUIAnimationPriorityComparison *pPriorityComparisonCancel; hr = CCancelPriorityComparison::CreateInstance( &pPriorityComparisonCancel ); if (SUCCEEDED(hr)) { hr = m_pAnimationManager->SetCancelPriorityComparison( pPriorityComparisonCancel ); pPriorityComparisonCancel->Release(); if (SUCCEEDED(hr)) { IUIAnimationPriorityComparison *pPriorityComparisonTrim; hr = CTrimPriorityComparison::CreateInstance( &pPriorityComparisonTrim ); if (SUCCEEDED(hr)) { hr = m_pAnimationManager->SetTrimPriorityComparison( pPriorityComparisonTrim ); pPriorityComparisonTrim->Release(); } } } } } } } } return hr; }