Partager via


Rectangles

Tout au long de la programmation Direct3D et Windows, les objets sur l’écran sont référencés en termes de rectangles englobants. Les côtés d’un rectangle englobant sont toujours parallèles aux côtés de l’écran, de sorte que le rectangle peut être décrit par deux points, le coin supérieur gauche et le coin inférieur droit.

Rectangles englobants

La plupart des applications utilisent la structure RECT (ou un alias typedef pour celui-ci) pour transporter des informations sur un rectangle englobant à utiliser lors de la capture d’écran ou lors de l’exécution de la détection d’accès. En C++, la structure RECT a la définition suivante.

typedef struct tagRECT { 
    LONG    left;    // This is the upper-left corner x-coordinate.
    LONG    top;     // The upper-left corner y-coordinate.
    LONG    right;   // The lower-right corner x-coordinate.
    LONG    bottom;  // The lower-right corner y-coordinate.
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; 

Dans l’exemple précédent, les membres gauche et supérieur sont les coordonnées x et y d’un rectangle englobant en haut à gauche. De même, les membres droit et inférieur constituent les coordonnées du coin inférieur droit. L’illustration suivante montre comment visualiser ces valeurs.

illustration du rectangle délimité par les valeurs gauche, supérieure, droite et inférieure

La colonne de pixels au bord droit et la ligne de pixels au bord inférieur ne sont pas incluses dans le RECT. Par exemple, le verrouillage d’un RECT avec les membres {10, 10, 138, 138} génère un objet de 128 pixels de largeur et de hauteur.

Pour une efficacité, une cohérence et une facilité d’utilisation, toutes les fonctions de présentation Direct3D fonctionnent avec des rectangles.

Systèmes de coordonnées et géométrie