ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE) メソッド (d2d1.h)
後続のすべての描画操作をクリップする四角形を指定します。
構文
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
パラメーター
clipRect
型: [in] const D2D1_RECT_F*
クリッピング領域のサイズと位置 (デバイスに依存しないピクセル単位)。
antialiasMode
種類: [入力] D2D1_ANTIALIAS_MODE
サブピクセル境界を持つクリップ レクツのエッジを描画し、クリップをシーン コンテンツとブレンドするために使用されるアンチエイリアシング モード。 ブレンドは 、PopAxisAlignedClip メソッドが呼び出されたときに 1 回実行され、レイヤー内の各プリミティブには適用されません。
戻り値
なし
解説
clipRect は、レンダー ターゲットに設定されている現在のワールド変換によって変換されます。 渡された clipRect に変換が適用されると、 clipRect の軸揃え境界ボックスが計算されます。 効率を高めるために、コンテンツは、渡された元の clipRect ではなく、この軸揃え境界ボックスにクリップされます。
次の図は、レンダー ターゲットに回転変換を適用する方法、結果として得られる clipRect、および計算された軸揃え境界ボックスを示しています。
- 次の図の四角形が、画面のピクセルに揃えられたレンダー ターゲットであるとします。
- レンダー ターゲットに回転変換を適用します。 次の図では、黒い四角形は元のレンダー ターゲットを表し、赤い破線の四角形は変換されたレンダー ターゲットを表しています。
- PushAxisAlignedClip を呼び出すと、回転変換が clipRect に適用されます。 次の図では、青い四角形は変換された clipRect を表しています。
- 軸揃え境界ボックスが計算されます。 緑色の破線の四角形は、次の図の境界ボックスを表します。 すべてのコンテンツは、この軸揃え境界ボックスにクリップされます。
PushAxisAlignedClip と PopAxisAlignedClip のペアは、PushLayer と PopLayer の周囲または内部で発生する可能性がありますが、重複することはできません。 たとえば、PushAxisAlignedClip、PushLayer、PopLayer、PopAxisAlignedClip のシーケンスは有効ですが、PushAxisAlignedClip、PushLayer、PopAxisAlignedClip、PopLayer のシーケンスは無効です。
失敗した場合、このメソッドはエラー コードを返しません。 描画操作 (PushAxisAlignedClip など) が失敗したかどうかを判断するには、ID2D1RenderTarget::EndDraw メソッドまたは ID2D1RenderTarget::Flush メソッドによって返される結果をチェックします。
必要条件
対象プラットフォーム | Windows |
ヘッダー | d2d1.h (D2d1.h を含む) |
Library | D2d1.lib |
[DLL] | D2d1.dll |