enumeración D2D1_LAYER_OPTIONS (d2d1.h)

Especifica las opciones que se pueden aplicar cuando se aplica un recurso de capa para crear una capa.

Nota A partir de Windows 8, ya no se admite la opción D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE. Consulte D2D1_LAYER_OPTIONS1 para obtener Windows 8 opciones de capa.
 

Syntax

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

Constantes

 
D2D1_LAYER_OPTIONS_NONE
Valor: 0x00000000
El texto de esta capa no usa suavizado de contorno ClearType.
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
Valor: 0x00000001
La capa se representa correctamente para texto ClearType. Si el destino de representación se establece en ClearType, la capa continúa representando ClearType. Si el destino de representación se establece en ClearType y no se especifica esta opción, el destino de representación se establecerá para representar la escala de grises hasta que se extrae la capa. El autor de la llamada puede invalidar este valor predeterminado llamando a SetTextAntialiasMode mientras se encuentra dentro de la capa. Esta marca es ligeramente más lenta que la predeterminada.
D2D1_LAYER_OPTIONS_FORCE_DWORD
Valor: 0xffffffff

Comentarios

El suavizado de contorno ClearType debe usar el contenido actual del destino de representación para combinarse correctamente. Cuando una capa insertada solicita la inicialización para ClearType, Direct2D copia el contenido actual del destino de representación en la capa para que se pueda realizar el suavizado de contorno ClearType. La representación del texto ClearType en una capa transparente no genera los resultados deseados.

Se produce un pequeño impacto de rendimiento al volver a copiar contenido cuando se llama a ID2D1RenderTarget::Clear .

Ejemplos

En el ejemplo siguiente se muestra cómo usar CreateLayer, PushLayer y PopLayer. Todos los campos de la estructura D2D1_LAYER_PARAMETERS se establecen en valores predeterminados, excepto opacityBrush, que se establece en un ID2D1RadialGradientBrush.

// 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);

Para obtener ejemplos adicionales, consulte La introducción a las capas.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Encabezado d2d1.h

Consulte también

Introducción a las capas