D2D1_LAYER_OPTIONS列挙 (d2d1.h)

レイヤー リソースを適用してレイヤーを作成するときに適用できるオプションを指定します。

メモWindows 8以降、D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE オプションはサポートされなくなりました。 Windows 8 レイヤー オプションについては、「D2D1_LAYER_OPTIONS1」を参照してください。
 

構文

typedef enum D2D1_LAYER_OPTIONS {
  D2D1_LAYER_OPTIONS_NONE = 0x00000000,
  D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
  D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
} ;

定数

 
D2D1_LAYER_OPTIONS_NONE
値: 0x00000000
このレイヤーのテキストでは、ClearType アンチエイリアシングは使用されません。
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
値: 0x00000001
レイヤーは ClearType テキストに対して正しくレンダリングされます。 レンダー ターゲットが ClearType に設定されている場合、レイヤーは ClearType を引き続きレンダリングします。 レンダー ターゲットが ClearType に設定されていて、このオプションが指定されていない場合、レンダー ターゲットは、レイヤーがポップされるまでグレースケールでレンダリングするように設定されます。 呼び出し元は、レイヤー内で SetTextAntialiasMode を呼び出すことによって、この既定値をオーバーライドできます。 このフラグは、既定値よりも少し遅くなります。
D2D1_LAYER_OPTIONS_FORCE_DWORD
値: 0xffffffff

注釈

ClearType アンチエイリアシングでは、レンダー ターゲットの現在のコンテンツを使用して適切にブレンドする必要があります。 プッシュされたレイヤーが ClearType の初期化を要求すると、Direct2D はレンダー ターゲットの現在のコンテンツをレイヤーにコピーして、ClearType アンチエイリアシングを実行できるようにします。 ClearType テキストを透明なレイヤーにレンダリングしても、目的の結果は生成されません。

ID2D1RenderTarget::Clear が呼び出されると、コンテンツの再コピーによるパフォーマンスヒットが小さくなります。

次の例は、 CreateLayer、PushLayerPopLayer の使用方法を示しています。 id2D1RadialGradientBrush に設定されている opacityBrush を除き、D2D1_LAYER_PARAMETERS構造体内のすべてのフィールドは既定値に設定されます。

// Create a layer.
ID2D1Layer *pLayer = NULL;
hr = pRT->CreateLayer(NULL, &pLayer);

if (SUCCEEDED(hr))
{
    pRT->SetTransform(D2D1::Matrix3x2F::Translation(300, 250));

    // Push the layer with the content bounds.
    pRT->PushLayer(
        D2D1::LayerParameters(
            D2D1::InfiniteRect(),
            NULL,
            D2D1_ANTIALIAS_MODE_PER_PRIMITIVE,
            D2D1::IdentityMatrix(),
            1.0,
            m_pRadialGradientBrush,
            D2D1_LAYER_OPTIONS_NONE),
        pLayer
        );

    pRT->DrawBitmap(m_pBambooBitmap, D2D1::RectF(0, 0, 190, 127));

    pRT->FillRectangle(
        D2D1::RectF(25.f, 25.f, 50.f, 50.f), 
        m_pSolidColorBrush
        );
    pRT->FillRectangle(
        D2D1::RectF(50.f, 50.f, 75.f, 75.f),
        m_pSolidColorBrush
        ); 
    pRT->FillRectangle(
        D2D1::RectF(75.f, 75.f, 100.f, 100.f),
        m_pSolidColorBrush
        );    
 
    pRT->PopLayer();
}
SafeRelease(&pLayer);

その他の例については、「 レイヤーの概要」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
Header d2d1.h

こちらもご覧ください

レイヤーの概要