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.
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 |