PureBasic & GDI+ 1.0
PathIterator



Un objet Path ou GraphicsPath est composé d'une ou plusieurs figures. Lorsque l'on ajoute des lignes et ou des courbes à un GraphicsPath, ces lignes et courbes deviennent une partie d'une figure. Les lignes ou courbes d'une même figure qui ne sont pas fermées sont reliées entres elles par un segment de droite. Le point final d'une ligne ou courbe est relié au point de départ de la prochaine ligne ou courbe. Si une forme fermée comme un cercle etc. est ajouté à la figure courante, elle n'est pas reliée au dernier point de la forme précédente. Deux figures consécutives d'un même GraphicsPath ne sont pas reliées.

Certaines fonctions des GraphicsPath ne stockent pas les tableaux de points d'origine des formes ajoutées mais elles convertissent les courbes (spline cardinale etc.) 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 définissant les figures. Toutes les courbes du path sont représentées comme des splines de Bézier, ainsi un point donné du tableau a un des deux types suivant: #PathPointTypeLine ou #PathPointTypeBezier.

Les objets PathIterator permettent de parcourir des sous-tracés d'un GraphicsPath et de tester les types de formes contenus dans chaque sous-tracé. Un GraphicsPath peut avoir des marqueurs qui divisent le chemin en sections. Un objet GraphicsPathIterator permet d'isoler une ou plusieurs de ces sections.

Certaines fonctions des GraphicsPath ne stockent pas les tableaux de points d'origine des formes ajoutées mais elles convertissent les courbes (spline cardinale etc.) 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 définissant les figures. Plusieurs fonctions des GraphicsPathIterator utilisent les points retrouvés qui sont dont généralement différents des tableaux de points initiaux.

Liste des commandes
GdipCreatePathIter
GdipDeletePathIter
GdipPathIterCopyData
GdipPathIterEnumerate
GdipPathIterGetCount
GdipPathIterGetSubpathCount
GdipPathIterHasCurve
GdipPathIterIsValid
GdipPathIterNextMarker
GdipPathIterNextMarkerPath
GdipPathIterNextPathType
GdipPathIterNextSubpath
GdipPathIterNextSubpathPath
GdipPathIterRewind