11.2. Forme

Un fichier de forme typique peut ressembler à ceci :


    
  <?xml version="1.0"?>

  <shape xmlns="http://www.daa.com.au/~james/dia-shape-ns"
         xmlns:svg="http://www.w3.org/2000/svg">
    <name>Circuit with identifiers - NPN Transistor</name>
    <icon>npn.xpm</icon>
    <connections>
      <point x="0" y="0"/>
      <point x="6" y="-4"/>
      <point x="6" y="4"/>
    </connections>

    <aspectratio type="fixed"/>

    <textbox x1="4" y1="-3" x2="12" y2="3" />

    <svg:svg>
      <svg:line x1="0" y1="0" x2="3" y2="0" />
      <svg:line x1="3" y1="-3" x2="3" y2="3" />
      <svg:line x1="3" y1="-2" x2="6" y2="-4" />
      <svg:line x1="3" y1="2" x2="6" y2="4" />

      <svg:polyline points="5,4 6,4 5.6154,3.0769" />
    </svg:svg>

  </shape>
    

    

Seuls les éléments « name » et « svg » sont requis dans le fichier shape. Le reste est optionnel.

L'élément name donne le nom de l'objet. Le nom est l'identifiant unique de cette forme, utilisé pour le chargement et l'enregistrement.

Comme dans cet exemple, vous pouvez utiliser des « noms composés ». Beaucoup de formes ont pour première partie de leur nom le nom de la feuille (sheet) dans laquelle elles apparaissent, mais c'est optionnel.

L'élément « icon » spécifie un fichier xpm ou png utilisé comme icône dans la Boîte à outils Dia. Le nom de fichier peut être relatif au fichier de forme (le chemin peut...). Si cet élément n'est pas précisé, une icône par défault sera utilisée pour les formes personnalisées.

La section « connections » spécifie un jeu de points de connexion pour la forme. Le repère de coordonnées pour ces points est le même que le repère utilisé dans la description svg de la forme.

L'élément « aspectratio » vous permet de spécifier quelles proportions de la forme peuvent être modifiées. Les trois possibilités sont :

La dernière option vous permet de spécifier une plage des valeurs de déformation, ce qui peut être utile dans certains cas.

L'élément textbox vous permet d'associer du texte[1] à la forme. La syntaxe est :


    
   <textbox x1="left" y1="top" x2="right" y2="bottom"/>
    

    

(seulement une textbox par forme) où les attributs donnent les limites de la boîte de texte dans le même repère que la description SVG de la forme.

À leur création, les formes ont une taille par défaut. Si leur dimension ne correspond pas à vos besoins, vous pouvez remplacer celles-ci par l'une ou les deux directives:

<default-width>1cm</default-width>
<default-height>1cm</default-height>

L'élément svg décrit la forme. les attributs width et height sont ignorés, et donnés seulement pour compatibilité avec la spécification SVG. voir les pages du W3C à-propos du format à l'adresse : http://www.w3.org/Graphics/SVG

La section suivante détaille quelles parties de la spécification SVG peuvent être utilisées dans un fichier shape.