IDCompositionAnimation::SetAbsoluteBeginTime メソッド (dcompanimation.h)
アニメーション関数が開始される絶対時間を設定します。
構文
HRESULT SetAbsoluteBeginTime(
[in] LARGE_INTEGER beginTime
);
パラメーター
[in] beginTime
種類: LARGE_INTEGER
このアニメーションの開始時刻。
戻り値
型: HRESULT
関数が成功した場合は、S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。 エラー コードの一覧については、「 DirectComposition エラー コード 」を参照してください。
解説
既定では、アニメーションの最初のフレームが有効になると、アニメーション関数が開始されます。 たとえば、アプリケーションがオフセット 0 に 1 つのプリミティブを持つ単純なアニメーション関数を作成し、アニメーションを何らかのプロパティに関連付けてから、コミットを含む最初のフレーム である IDCompositionDevice::Commit メソッドを呼び出すと、最初のプリミティブのオフセット 0 のアニメーションがサンプリングされます。
つまり、すべてのアニメーションの実際の既定の開始時刻は、アプリケーションがアニメーションを作成して Commit を呼び出すまでの時間と、コンポジション エンジンがコミットされた変更を取得するまでの時間によって異なります。 アプリケーションでは 、SetAbsoluteBeginTime メソッドを使用して、アニメーションの開始時刻を細かく制御できます。
このメソッドは、アニメーションが有効なタイミングを制御しません。アニメーションの開始後のサンプリング方法にのみ影響します。 アプリケーションで次のフレームの正確な時刻を絶対開始時刻として指定した場合、結果は、このメソッドをまったく呼び出さない場合と同じです。 指定した開始時刻が次のフレームの時刻と異なる場合、結果は次のいずれかになります。
- 指定した時刻が次のフレーム時間より後の場合、アニメーションの開始は、指定した開始時刻まで遅延します。
- 指定した時間が次のフレーム時間より前の場合、アニメーションの開始が削除され、サンプリングがアニメーション関数に開始されます。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | dcompanimation.h |
Library | Dcomp.lib |
[DLL] | Dcomp.dll |