D2D1_LAYER_OPTIONS 열거형(d2d1.h)

레이어 리소스를 적용하여 레이어를 만들 때 적용할 수 있는 옵션을 지정합니다.

참고 Windows 8 D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE 옵션은 더 이상 지원되지 않습니다. Windows 8 계층 옵션은 D2D1_LAYER_OPTIONS1 참조하세요.
 

Syntax

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용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
머리글 d2d1.h

추가 정보

레이어 개요