aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/user_manual.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/user_manual.txt b/doc/user_manual.txt
index b8b1167..3bbcdb2 100644
--- a/doc/user_manual.txt
+++ b/doc/user_manual.txt
@@ -310,6 +310,44 @@ mrun;
2.2 Le SVG
----------
+SVG signifie Scalable Vector Graphics. Il s'agit d'un format standard puisqu'il
+correspond à une spécification du W3C. Cette standardisation permet aux fichiers
+svg d'être utilisés par plusieurs applications (par exemple Adobe Illustrator,
+inkscape sous Linux). Les fichiers svg permettent de décrire une image de
+manière vectorielle (par opposition à la description matricielle d'une
+photo). Les fichiers svg vont être utilisés pour décrire l'apparence des
+éléments graphiques d'une interface. Le graphiste pourra alors faire évoluer
+l'aspect d'une interface en modifiant les fichiers svg avec son éditeur
+favori. Cela revient à externaliser l'aspect visuel du code qui gère les
+comportements.
+NOTE : pour que la collaboration entre développeur et designer graphique se
+passe bien, il est important de définir clairement l'interface d'échange.
+
+Un outil de conversion (SVG2zinc) lit un fichier svg et le convertit en code
+perl. Ce code perl crée les objets graphiques zinc équivalents à ceux décrits
+dans le svg. Le code perl est généré dans le répertoire AUTOGEN. Le code perl
+est automatiquement regénéré si le fichier svg a été modifié.
+
+Le code perl construit des objets zinc, on a donc un arbre d'objets zinc qui
+reflète la description du svg.
+
+Il existe plusieurs manières de créer des objets graphiques à partir de la
+description contenue dans un fichier svg :
+- SVGLoader::load(svg, groupe parent)
+ Cette fonction actualise AUTOGEN si nécessaire.
+ Elle crée et retourne un objet perl dont le nom du type est construit à
+ partir du nom svg. Cet objet hérite de MGroup. Le groupe parent est
+ celui donné en paramètre.
+- MTools::minstanciate(svg, groupe parent)
+ Cette fonction fait appel à SVGLoader::load et retourne un objet MTools.
+ L'avantage de cette fonction c'est qu'elle est facile d'accès à tous les
+ objets qui héritent de MTools.
+ NOTE : cette fonction sait faire plus que charger du svg, voir le
+ chapitre traitant de MTools.pm pour plus de détails.
+- MTools::minstance : minstance (svg, groupe parent)
+ Idem que minstanciate mais retourne obligatoirement un objet zinc.
+- MSwitch : la description des états d'un switch peut utiliser directement un
+ nom svg. Voir la description de MSwitch.
2.3 Les widgets
---------------