ID2D1RenderTarget::P ushAxisAlignedClip(constD2D1_RECT_F,D2D1_ANTIALIAS_MODE&) méthode (d2d1.h)

Spécifie un rectangle dans lequel toutes les opérations de dessin suivantes sont découpé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 anticrénelage utilisé pour dessiner les bords des lignes de découpage qui ont des limites de sous-pixel et pour fusionner le clip avec le contenu de la scène. Le mélange est effectué une fois lorsque la méthode PopAxisAlignedClip est appelée et ne s’applique pas à chaque primitive au sein de la couche.

Valeur de retour

None

Notes

Le clipRect est transformé par le jeu de transformations du monde actuel défini sur la cible de rendu. Une fois la transformation appliquée au clipRect passé, le cadre englobant aligné sur l’axe pour le clipRect est calculé. Pour plus d’efficacité, le contenu est coupé dans ce cadre englobant aligné sur l’axe et non vers le clipRect d’origine qui est transmis.

Les diagrammes suivants montrent comment une transformation de rotation est appliquée à la cible de rendu, au clipRect résultant et à un cadre englobant aligné sur l’axe calculé.

  1. Supposons que le rectangle dans l’illustration suivante est une cible de rendu alignée sur les pixels d’écran. Illustration d’un rectangle (cible de rendu)
  2. 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. Illustration d’un rectangle pivoté (cible de rendu transformée)
  3. 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é. Illustration d’un petit rectangle bleu (clipRect transformé) à l’intérieur d’un rectangle pivoté
  4. Le cadre englobant aligné sur l’axe est calculé. Le rectangle en pointillés vert représente le cadre englobant dans l’illustration suivante. Tout le contenu est coupé dans ce cadre englobant aligné sur l’axe. Illustration d’un rectangle englobant vert autour d’un petit rectangle bleu à l’intérieur d’un rectangle pivoté
Note Si les opérations de rendu échouent ou si PopAxisAlignedClip n’est pas appelé, les rects de découpage peuvent provoquer certains artefacts sur la cible de rendu. PopAxisAlignedClip peut être considéré comme une opération de dessin conçue pour corriger les bordures d’une région de découpage. Sans cet appel, les bordures d’une zone découpée peuvent ne pas être anticrénelées ou corrigées autrement.
 
PushAxisAlignedClip et PopAxisAlignedClip doivent correspondre. Sinon, l’état d’erreur est défini. Pour que la cible de rendu continue à recevoir de nouvelles commandes, vous pouvez appeler Flush pour effacer l’erreur.

Une paire PushAxisAlignedClip et PopAxisAlignedClip peut se produire autour ou dans un PushLayer et 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, 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é, vérifiez le résultat retourné par les méthodes ID2D1RenderTarget::EndDraw ou ID2D1RenderTarget::Flush .

Configuration requise

   
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]
Plateforme cible Windows
En-tête d2d1.h
Bibliothèque D2d1.lib
DLL D2d1.dll

Voir aussi

ID2D1RenderTarget