enumeração D2D1_LAYER_OPTIONS (d2d1.h)
Especifica as opções que podem ser aplicadas quando um recurso de camada é aplicado para criar uma camada.
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 O texto nessa camada não usa a suavização ClearType. |
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE Valor: 0x00000001 A camada é renderizada corretamente para texto ClearType. Se o destino de renderização for definido como ClearType, a camada continuará renderizando ClearType. Se o destino de renderização for definido como ClearType e essa opção não for especificada, o destino de renderização será definido para renderizar a escala cinza até que a camada seja exibida. O chamador pode substituir esse padrão chamando SetTextAntialiasMode enquanto estiver dentro da camada. Esse sinalizador é um pouco mais lento que o padrão. |
D2D1_LAYER_OPTIONS_FORCE_DWORD Valor: 0xffffffff |
Comentários
A suavização ClearType deve usar o conteúdo atual do destino de renderização para mesclar corretamente. Quando uma camada enviada por push solicita a inicialização para ClearType, Direct2D copia o conteúdo atual do destino de renderização para a camada para que a suavização ClearType possa ser executada. Renderizar o texto ClearType em uma camada transparente não produz os resultados desejados.
Um pequeno impacto no desempenho da cópia de conteúdo ocorre quando ID2D1RenderTarget::Clear é chamado.
Exemplos
O exemplo a seguir mostra como usar CreateLayer, PushLayer e PopLayer. Todos os campos na estrutura D2D1_LAYER_PARAMETERS definidos como padrões, exceto opacityBrush, que é definido como 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 obter exemplos adicionais, consulte a Visão geral das camadas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho | d2d1.h |