GdipReversePath()



Syntaxe
Resultat.i = GdipReversePath(*path)
Paramètre
*path

[in] Pointeur sur un objet GraphicsPath.

Description
Cette fonction permet d'inverser l'ordre des points du tableau PathPoints et du tableau de Types qui définissent les lignes et courbes du GraphicsPath.

Un objet de GraphicsPath a un tableau de points (PointF) et un tableau de types (Byte). Chaque élément du tableau de types est un octet qui indique le type de point et un ensemble de drapeaux pour l'élément correspondant du tableau de points (PointF). Les différents types et drapeaux font partie de l'énumération PathPointType.

La fonction n'inverse pas le tracé mais l'ordre des points des tableaux. Certaines fonctions ne stockent pas les tableaux de points d'origine mais elles convertissent les courbes (spline cardinale etc.) en en une suite de courbes de Bézier et sauvegardent les points qui définissent ces courbes de Bézier. Il en résulte que le nombre de points retrouvés est plus important que le nombre de points d'origine. Il est préférable d'utiliser la fonction GdipGetPointCount() pour retrouver ce nombre de points pour dimensionner correctement les tableaux. Si les tableaux PureBasic sont mal dimensionnés, la fonction peut échouer ou le programme peut planter (accès mémoire invalide).

Le premier fichier d'exemple montre un tracé composé de lignes simples dont les points d'origine seront stockés puis retrouvés par la fonction et enfin affichés.

Le deuxième fichier d'exemple montre un tracé d'une spline cardinale dont les points d'origine seront convertis puis ces points convertis seront stockés puis retrouvés par la fonction et enfin affichés. A l'origine il y a 7 points puis 22 retrouvés pour cet exemple.

L'ordre étant inversé, le point de départ du tracé devient le point d'arrivé. L'ajout d'une nouvelle courbe au tracé qui est relié au point d'arrivé, ne se fera donc pas sur le même point si vous inversez le Path. C'est ce que montre le fichier d'exemple 3.

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium