4D SVG
SVG_ADD_NAMESPACE
SVG_ADD_NAMESPACE ( objetSVG ; préfixe {; URI} )
Paramètre Type Description
objetSVG Ref_SVG Référence d’objet SVG
préfixe Texte Préfixe du namespace
URI Texte URI du namespace
Description
La méthode SVG_ADD_NAMESPACE ajoute un attribut XML namespace à la racine de l’arbre DOM de la structure SVG référencée par objetSVG. Cette méthode vous permet notamment d’ajouter un namespace à un extrait de code SVG.
Passez dans le paramètre préfixe une chaîne contenant le préfixe de l’attribut namespace. Vous pouvez utiliser l’une des constantes suivantes :
« svgNS » pour le namespace SVG standard (http://www.w3.org/2000/svg)
« xlinkNS » pour le namespace standard XLink (http://www.w3.org/1999/xlink)
Dans ce cas, le paramètre URI est inutile.
Vous pouvez également passer un préfixe de namespace personnalisé dans le paramètre préfixe et son URI dans le paramètre URI. Dans ce cas, le paramètre URI est obligatoire, s’il est omis une erreur est générée.
Exemple
L’instruction suivante :
SVG_ADD_NAMESPACE($svgRef; »svgNS »)
… ajoute le code suivant à la racine l’objet SVG :
<xmlns= »http://www.w3.org/2000/svg »>
SVG_GET_ATTRIBUTES
SVG_GET_ATTRIBUTES ( objetSVG ; pointTabNoms ; pointTabValeurs )
Paramètre Type Description
objetSVG Ref_SVG Référence SVG
pointTabNoms Pointeur Tableau chaîne des libellés d’attributs
pointTabValeurs Pointeur Tableau chaîne des valeurs d’attributs
Description
La commande SVG_GET_ATTRIBUTES remplit les tableaux pointés par pointTabNoms et pointTabValeurs respectivement des noms et des valeurs des attributs de l’élément dont la référence est passée dans objetSVG. Si objetSVG n’est pas valide ou si cet attribut n’existe pas, une erreur est générée.
SVG_Get_ID
SVG_Get_ID ( objetSVG ) -> Résultat
Paramètre Type Description
objetSVG Ref_SVG Référence d’élément SVG
Résultat Chaîne Nom de l’élément
Description
La commandeSVG_Get_ID retourne la valeur de l’attribut ‘id’ de l’élément dont la référence est passée en paramètre.
Si objetSVG n’est pas valide ou si cet attribut n’existe pas, une erreur est générée.
SVG_SET_ATTRIBUTES
SVG_SET_ATTRIBUTES ( objetSVG ; nomAttribut ; valeurAttribut {; nomAttribut2 ; valeurAttribut2 ; … ; nomAttributN ; valeurAttributN} )
Paramètre Type Description
objetSVG Ref_SVG Référence d’un élément SVG
nomAttribut Chaîne Nom de l’attribut à fixer
valeurAttribut Chaîne Valeur de l’attribut
Description
La commande SVG_SET_ATTRIBUTES permet d’affecter un ou plusieurs attribut(s) personnalisé(s) à un objet SVG de référence objetSVG. Si le ou les attribut(s) existaient déjà, leurs valeurs sont remplacées par celles passées en paramètre.
Les attributs et leurs valeurs sont passés par couples de paramètres.
Exemple
$svg:=SVG_New
$object:=SVG_New_rect($svg;10;10;200;200;0;0; »black »; »white »;2)
SVG_SET_ATTRIBUTES($object; »style »; »fill:red; stroke:blue; stroke-width:3″)
SVG_SET_ATTRIBUTES_BY_ARRAYS
SVG_SET_ATTRIBUTES_BY_ARRAYS ( objetSVG ; pointTabNoms ; pointTabValeurs )
Paramètre Type Description
objetSVG Ref_SVG Référence d’un élément SVG
pointTabNoms Pointeur Noms des attributs
pointTabValeurs Pointeur Valeurs synchronisées des attributs
Description
La commande SVG_SET_ATTRIBUTES_BY_ARRAYS permet d’affecter un ou plusieurs attribut(s) personnalisé(s) à un objet SVG de référence objetSVG. Si le ou les attribut(s) existaient déjà, leurs valeurs sont remplacées par celles passées en paramètres.
Les attributs et leurs valeurs sont passés par l’intermédiaire de deux tableaux, sur lesquels pointent pointTabNoms et pointTabValeurs.
Exemple
$svg:=SVG_New
$object:=SVG_New_rect($svg;10;10;200;200;0;0; »black »; »white »;2)
TABLEAU TEXTE($attributes;0)
TABLEAU TEXTE($values;0)
AJOUTER A TABLEAU($attributes; »fill »)
AJOUTER A TABLEAU($values; »red »)
AJOUTER A TABLEAU($attributes; »stroke »)
AJOUTER A TABLEAU($values; »blue »)
AJOUTER A TABLEAU($attributes; »stroke-width »)
AJOUTER A TABLEAU($values; »3″)
SVG_SET_ATTRIBUTES_BY_ARRAYS($object;->$attributes;->$values)
SVG_SET_CLASS
SVG_SET_CLASS ( objetSVG ; nomClasse )
Paramètre Type Description
objetSVG Ref_SVG Référence d’un élément SVG
nomClasse Texte Nom de la classe
Description
La commande SVG_SET_CLASS affecte la classe nomClasse à l’objet passé dans objetSVG. Une erreur est générée si objetSVG n’est pas une référence valide.
Référence : http://www.yoyodesign.org/doc/w3c/svg1/styling.html#StyleElement
Exemple
Reportez-vous à l’exemple de SVG_Define_style.
SVG_SET_CLIP_PATH
SVG_SET_CLIP_PATH ( objetSVG ; idRognage )
Paramètre Type Description
objetSVG Ref_SVG Référence d’un élément SVG
idRognage Texte Nom du tracé de rognage
Description
La commande SVG_SET_CLIP_PATH assigne le tracé de rognage nommé idRognage à l’objet SVG désigné par objetSVG.
Une erreur est générée si objetSVG n’est pas une référence valide ou si le tracé le rognage n’est pas défini.
Référence : http://www.yoyodesign.org/doc/w3c/svg1/masking.html#EstablishingANewClippingPath
Exemple 1
Définition d’un tracé de rognage circulaire ensuite attribué à une image :
//Définition d’un tracé circulaire
$Dom_clipPath:=SVG_Define_clipPath($Dom_SVG; »theClip »)
$Dom_circle:=SVG_New_circle($Dom_clipPath;150;100;100)
//Création d’un groupe
$Dom_g:=SVG_New_group($Dom_SVG)
//Insertion d’une image
$Txt_path:=Dossier 4D(6)+ »logo.svg »
LIRE FICHIER IMAGE($Txt_path;$Pic_buffer)
$Dom_picture:=SVG_New_embedded_image($Dom_g;$Pic_buffer)
SVG_SET_ID($Dom_picture; »MyPicture »)
//Application du rognage au groupe
SVG_SET_CLIP_PATH($Dom_g; »theClip »)
Exemple 2
La même image avec un tracé de rognage rectangulaire à coin arrondi :
//Définition d’un tracé rectangulaire
$Dom_clipPath:=SVG_Define_clipPath($Dom_SVG; »theClip »)
$Dom_rect:=SVG_New_rect($Dom_clipPath;5;10;320;240;10;10)
//Création d’un groupe
$Dom_g:=SVG_New_group($Dom_SVG)
//Insertion d’une image
$Txt_path:=Dossier 4D(6)+ »logo.svg »
LIRE FICHIER IMAGE($Txt_path;$Pic_buffer)
$Dom_picture:=SVG_New_embedded_image($Dom_g;$Pic_buffer)
SVG_SET_ID($Dom_picture; »MyPicture »)
//Application du rognage au groupe
SVG_SET_CLIP_PATH($Dom_g; »theClip »)
Introduction
Attributs
Couleurs et dégradés
Dessin
Documents
Filtres
Structure et Définitions
Texte
Utilitaires
Annexes
Liste des nouveautés
Liste alphabétique des commandes