MÉTHODE ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F*,D2D1_ANTIALIAS_MODE) (d2d1.h)
Spécifie un rectangle dans lequel toutes les opérations de dessin suivantes sont clippées.
Syntaxe
void PushAxisAlignedClip(
const D2D1_RECT_F *clipRect,
D2D1_ANTIALIAS_MODE antialiasMode
);
Paramètres
clipRect
Type : [in] const D2D1_RECT_F*
Taille et position de la zone de découpage, en pixels indépendants de l’appareil.
antialiasMode
Type : [in] D2D1_ANTIALIAS_MODE
Mode d’anticrénelage utilisé pour dessiner les bords des séquences d’éléments qui ont des limites de sous-pixels, et pour fusionner le clip avec le contenu de la scène. La fusion est effectuée une seule fois lorsque la méthode PopAxisAlignedClip est appelée et ne s’applique pas à chaque primitive au sein de la couche.
Valeur de retour
Aucune
Remarques
Le clipRect est transformé par le jeu de transformation du monde actuel sur la cible de rendu. Une fois la transformation appliquée au clipRect passé, le cadre englobant aligné sur l’axe de l’élément clipRect est calculé. Pour plus d’efficacité, le contenu est coupé dans ce cadre englobant aligné sur l’axe et non sur le clipRect d’origine passé.
Les diagrammes suivants montrent comment une transformation de rotation est appliquée à la cible de rendu, au clipRect résultant et à un cadre englobant calculé aligné sur l’axe.
- Supposons que le rectangle de l’illustration suivante soit une cible de rendu alignée sur les pixels de l’écran.
- Appliquez une transformation de rotation à la cible de rendu. Dans l’illustration suivante, le rectangle noir représente la cible de rendu d’origine et le rectangle en pointillés rouges représente la cible de rendu transformée.
- Après avoir appelé PushAxisAlignedClip, la transformation de rotation est appliquée au clipRect. Dans l’illustration suivante, le rectangle bleu représente le clipRect transformé.
- Le cadre englobant aligné sur l’axe est calculé. Le rectangle en pointillés verts représente le cadre englobant dans l’illustration suivante. Tout le contenu est découpé dans ce cadre englobant aligné sur l’axe.
Une paire PushAxisAlignedClip et PopAxisAlignedClip peut se produire autour ou au sein d’un PushLayer et d’un PopLayer, mais ne peut pas se chevaucher. Par exemple, la séquence de PushAxisAlignedClip, PushLayer, PopLayer, PopAxisAlignedClip est valide, mais la séquence de PushAxisAlignedClip, PushLayer, PopAxisAlignedClip, PopLayer n’est pas valide.
Cette méthode ne retourne pas de code d’erreur en cas d’échec. Pour déterminer si une opération de dessin (telle que PushAxisAlignedClip) a échoué, case activée le résultat retourné par les méthodes ID2D1RenderTarget::EndDraw ou ID2D1RenderTarget::Flush.
Configuration requise
Plateforme cible | Windows |
En-tête | d2d1.h (inclure D2d1.h) |
Bibliothèque | D2d1.lib |
DLL | D2d1.dll |