SVG_SET_MARKER

4D - Documentation   Français   English   German   Composant 4D SVG, Commandes par thèmes   4D SVG, Index   Retour   Précédent   Suivant

version 11.3


SVG_SET_MARKER (objetSVG; url{; position})

ParamètreTypeDescription
objetSVGRef_SVGRéférence d'élément SVG
urlChaîneNom du marqueur
positionChaînePosition 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

SVG_Define_marker.


4D - Documentation   Français   English   German   Composant 4D SVG, Commandes par thèmes   4D SVG, Index   Retour   Précédent   Suivant