Partager via


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

Note À compter de Windows 8, l’option D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE n’est plus prise en charge. Consultez D2D1_LAYER_OPTIONS1 pour Windows 8 options de 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

Voir aussi

Vue d’ensemble des couches