énumération D2D1_LAYER_OPTIONS (d2d1.h)
Spécifie les options qui peuvent être appliquées lorsqu’une ressource de couche est appliquée pour créer une couche.
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 Valeur : 0x00000000 Le texte de cette couche n’utilise pas d’anti-ataliasing ClearType. |
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE Valeur : 0x00000001 La couche s’affiche correctement pour le texte ClearType. Si la cible de rendu est définie sur ClearType, la couche continue d’afficher ClearType. Si la cible de rendu est définie sur ClearType et que cette option n’est pas spécifiée, la cible de rendu est définie pour afficher l’échelle de gris jusqu’à ce que la couche soit déclenchée. L’appelant peut remplacer cette valeur par défaut en appelant SetTextAntialiasMode dans la couche. Cet indicateur est légèrement plus lent que la valeur par défaut. |
D2D1_LAYER_OPTIONS_FORCE_DWORD Valeur : 0xffffffff |
Remarques
L’antialiasing ClearType doit utiliser le contenu actuel de la cible de rendu pour fusionner correctement. Lorsqu’une couche push demande l’initialisation pour ClearType, Direct2D copie le contenu actuel de la cible de rendu dans la couche afin que l’antialiasing ClearType puisse être effectué. Le rendu du texte ClearType dans une couche transparente ne produit pas les résultats souhaités.
Un petit problème de performances résultant de la recopiation du contenu se produit lorsque ID2D1RenderTarget ::Clear est appelé.
Exemples
L’exemple suivant montre comment utiliser CreateLayer, PushLayer et PopLayer. Tous les champs de la structure D2D1_LAYER_PARAMETERS défini sur les valeurs par défaut, à l’exception de opacityBrush, qui est défini sur 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);
Pour obtenir d’autres exemples, consultez Vue d’ensemble des couches.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP] |
En-tête | d2d1.h |