次の方法で共有


ID2D1RenderTarget::PushLayer メソッド

PopLayer が呼び出されるまでレンダー ターゲットで後続の描画操作をすべて受け取ることができるように、指定されたレイヤーをそのレンダー ターゲットに追加します。

構文

virtual void PushLayer(
  [in]  const D2D1_LAYER_PARAMETERS *layerParameters,
  [in]  ID2D1Layer *layer
) = 0;

パラメーター

  • layerParameters [in]
    D2D1_LAYER_PARAMETERS レイヤーのコンテンツの境界、ジオメトリ マスク、不透明度、不透明度マスク、およびアンチエイリアシング オプション。
  • layer [in]
    ID2D1Layer 後続の描画操作を受け取るレイヤー。

戻り値

This は値を返しません。

解説

PushLayer メソッドにより、呼び出し元はレイヤーへのレンダリングのリダイレクトを開始できます。レイヤーでは、すべてのレンダリング操作が有効です。レイヤーの場所は、レンダー ターゲットに設定されたワールド変換の影響を受けます。

PushLayer には、対応する PopLayer の呼び出しが必要です。PushLayer の呼び出しよりも PopLayer の呼び出しが多い場合、レンダー ターゲットはエラー状態になります。未処理のレイヤーがすべてポップされる前に Flush が呼び出されると、レンダー ターゲットはエラー状態になり、エラーを返します。エラー状態は、EndDraw の呼び出しによってクリアできます。

一度にアクティブにすることができるのは、特定の ID2D1Layer リソースだけです。つまり、PushLayer メソッドを呼び出した直後に、同じレイヤー リソースで別の PushLayer メソッドを続けることはできません。代わりに、別のレイヤー リソースで 2 つ目の PushLayer メソッドを呼び出す必要があります。

このメソッドは失敗した場合でも、エラー コードが返されません。描画操作 (PushLayer など) が失敗したかどうかを判断するには、ID2D1RenderTarget::EndDraw メソッドまたは ID2D1RenderTarget::Flush メソッドによって返された結果を確認します。

要件

クライアントの最小要件

Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム

サーバーの最小要件

Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム

ヘッダー

D2d1.h

ライブラリ

D2d1.lib

DLL

D2d1.dll

参照

PopLayer

ID2D1RenderTarget

レイヤーの概要