version 11.3
SVG_SET_MARKER (objetSVG; url{; position})
| Paramètre | Type | Description | |
| objetSVG | Ref_SVG | Référence d'élément SVG | |
| url | Chaîne | Nom du marqueur | |
| position | Chaîne | Position du marqueur |
Description
La commande SVG_SET_MARKER permet d'associer un marqueur à l'objet de référence objetSVG. Si objetSVG n'est pas la référence d'un élément 'line', 'path', 'polyline' ou 'polygon', une erreur est générée.
Si l'attribut existait déjà, sa valeur est remplacée.
Le paramètre url est le nom d'un élément marqueur à utiliser tel que défini avec la commande SVG_Define_marker. Si ce nom n'existe pas, une erreur est générée.
Le paramètre optionnel position permet de fixer la position du marqueur par rapport à l'objet. Il est possible de placer un marqueur différent ou non au début, à la fin ou à tous les autres sommets d'un tracé. Les valeurs peuvent être :
start pour placer un marqueur en début de tracé
end pour placer un marqueur à la fin du tracé
middle pour placer un marqueur à tous les sommets autres que le début et la fin.
all pour placer un marqueur sur tous les sommets d'un tracé.
Si ce paramètre est omis, le marqueur est placé à la fin du tracé.
Exemples
1. Dessiner une flèche :
$SVG:= SVG_New `Définir la flèche $arrow:=SVG_Define_marker ($SVG;"fleche";0;5;4;3;-1) SVG_SET_VIEWBOX ($arrow;0;0;10;10) $path:=SVG_New_path ($arrow;0;0) SVG_SET_FILL_BRUSH ($path;"black") SVG_PATH_LINE_TO ($path;10;5) SVG_PATH_LINE_TO ($path;0;10) SVG_PATH_CLOSE ($path) $line:=SVG_New_path ($SVG;100;75) SVG_SET_STROKE_WIDTH ($line;10) SVG_PATH_LINE_TO ($line;200;75) SVG_PATH_LINE_TO ($line;250;125) `Mettre la flèche à la fin du tracé SVG_SET_MARKER ($line;"fleche")
2. Dessiner un diagramme avec des marqueurs différents au début et à la fin :
$SVG:= SVG_New
SVG_SET_DEFAULT_BRUSHES ("red";"red")
`Définir un cercle pour marquer les points
$point:=SVG_Define_marker ($SVG;"pointMarker";2;2;3;3)
SVG_SET_VIEWBOX ($point;0;0;4;4)
SVG_New_circle ($point;2;2;1)
`Définir un carré pour le point de début
$start:=SVG_Define_marker ($SVG;"startMarker";1;1;2;2)
SVG_New_rect ($start;0;0;2;2)
Définir un triangle pour le point de fin
$end:=SVG_Define_marker ($SVG;"endMarker";5;5;3;3;60)
SVG_SET_VIEWBOX ($end;0;0;10;10)
SVG_New_regular_polygon ($end;10;3)
TABLEAU ENTIER LONG($tX;0)
TABLEAU ENTIER LONG($tY;0)
`Axe des x
Boucle ($Lon_i;0;200;20)
AJOUTER A TABLEAU($tX;$Lon_i+10)
Fin de boucle
`Données
AJOUTER A TABLEAU($tY;100)
AJOUTER A TABLEAU($tY;100)
AJOUTER A TABLEAU($tY;30)
AJOUTER A TABLEAU($tY;30)
AJOUTER A TABLEAU($tY;80)
AJOUTER A TABLEAU($tY;60)
AJOUTER A TABLEAU($tY;10)
AJOUTER A TABLEAU$tY;40)
AJOUTER A TABLEAU($tY;50)
AJOUTER A TABLEAU($tY;70)
$line:=SVG_New_polyline_by_arrays ($SVG;->$tX;->$tY;"red";"none";5)
`Disposer les marqueurs :
SVG_SET_MARKER ($line;"startMarker";"start")
SVG_SET_MARKER ($line;"pointMarker";"middle")
SVG_SET_MARKER ($line;"endMarker";"end")
Référence