コード例 #1
0
// 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;
}
コード例 #2
0
ファイル: Context.cpp プロジェクト: yohei-yoshihara/TouchMind
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;
}
コード例 #3
0
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;
}