Fonction PolyDraw (wingdi.h)

La fonction PolyDraw dessine un ensemble de segments de ligne et de courbes de Bézier.

Syntaxe

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

Paramètres

[in] hdc

Handle d'un contexte de périphérique.

[in] apt

Pointeur vers un tableau de structures POINT qui contient les points de terminaison de chaque segment de ligne et les points de terminaison et points de contrôle de chaque courbe de Bézier, en unités logiques.

[in] aj

Pointeur vers un tableau qui spécifie la façon dont chaque point du tableau lppt est utilisé. Ce paramètre peut prendre les valeurs suivantes.

Type Signification
PT_MOVETO
Spécifie que ce point démarre une figure disjointe. Ce point devient la nouvelle position actuelle.
PT_LINETO
Spécifie qu’une ligne doit être dessinée de la position actuelle jusqu’à ce point, qui devient alors la nouvelle position actuelle.
PT_BEZIERTO
Spécifie que ce point est un point de contrôle ou un point de terminaison pour une courbe de Bézier.

PT_BEZIERTO types se produisent toujours dans des ensembles de trois. La position actuelle définit le point de départ de la courbe de Bézier. Les deux premiers points PT_BEZIERTO sont les points de contrôle et le troisième point PT_BEZIERTO est le point de fin. Le point de fin devient la nouvelle position actuelle. S’il n’y a pas trois points de PT_BEZIERTO consécutifs, une erreur s’affiche.

 

Un type PT_LINETO ou PT_BEZIERTO peut être combiné à la valeur suivante à l’aide de l’opérateur OR au niveau du bit pour indiquer que le point correspondant est le dernier point d’une figure et que la figure est fermée.

Valeur Signification
PT_CLOSEFIGURE
Spécifie que la figure est automatiquement fermée une fois le type PT_LINETO ou PT_BEZIERTO pour ce point terminé. Une ligne est dessinée à partir de ce point vers le point le plus récent PT_MOVETO ou MoveToEx .

Cette valeur est combinée au type PT_LINETO d’une ligne ou au type PT_BEZIERTO du point de terminaison d’une courbe de Bézier, à l’aide de l’opérateur OR au niveau du bit.

La position actuelle est définie sur le point de fin de la ligne de fermeture.

[in] cpt

Nombre total de points dans le tableau lppt , identique au nombre d’octets dans le tableau lpbTypes .

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

La fonction PolyDraw peut être utilisée au lieu d’appels consécutifs aux fonctions MoveToEx, LineTo et PolyBezierTo pour dessiner des figures disjointes. Les lignes et les courbes sont dessinées à l’aide du stylet actuel et les figures ne sont pas remplies. Si un chemin d’accès actif est démarré en appelant BeginPath, PolyDraw ajoute au chemin.

Les points contenus dans le tableau lppt et dans le tableau lpbTypes indiquent si chaque point fait partie d’une opération MoveTo, LineTo ou PolyBezierTo . Il est également possible de fermer des figures.

Cette fonction met à jour la position actuelle.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

BeginPath

EndPath

Fonctions de courbe et de courbe

Lineto

Vue d’ensemble des lignes et des courbes

MoveToEx

POINT

PolyBezierTo

Polyligne