本文整理汇总了C++中CComPtr::AddCubic方法的典型用法代码示例。如果您正苦于以下问题:C++ CComPtr::AddCubic方法的具体用法?C++ CComPtr::AddCubic怎么用?C++ CComPtr::AddCubic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CComPtr
的用法示例。
在下文中一共展示了CComPtr::AddCubic方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateLinearAnimation
HRESULT CApplication::CreateLinearAnimation(float beginValue, float endValue, float beginTime, float endTime, IDCompositionAnimation **linearAnimation)
{
HRESULT hr = (linearAnimation == nullptr) ? E_POINTER : S_OK;
if (SUCCEEDED(hr))
{
*linearAnimation = nullptr;
hr = (_device == nullptr) ? E_UNEXPECTED : S_OK;
}
CComPtr<IDCompositionAnimation> animation;
if (SUCCEEDED(hr))
{
hr = _device->CreateAnimation(&animation);
}
// Ensures animation start value takes effect immediately
if (SUCCEEDED(hr))
{
if (beginTime > 0.0)
{
hr = animation->AddCubic(0.0, beginValue, 0.0f, 0.0f, 0.0f);
}
}
if (SUCCEEDED(hr))
{
hr = animation->AddCubic(beginTime, beginValue, (endValue - beginValue) / (endTime - beginTime), 0.0f, 0.0f);
}
if (SUCCEEDED(hr))
{
hr = animation->End(endTime, endValue);
}
if (SUCCEEDED(hr))
{
*linearAnimation = animation.Detach();
}
return hr;
}