Table of Contents
Thèmes Dynamiques SVG
Sommaire → Rocview → Thèmes SVG
Cette documentation est basée sur Rocrail Version 2.1.4966 datée du 03.08.2024 .
Le développement est toujours en cours "Work In Progress" (WIP).
Introduction
Les symboles SVG (Scalable Vector Graphics) sont utilisés pour définir les symboles objet Rocrail pour afficher les contenus du fichier du plan de voie Rocrail.
Les symboles SVG peuvent être créés et/ou modifiés avec Rocview en interne éditeur SVG Rocview
Chemin
Les chemins vers les symboles SVG sont:
Chemin | Description |
---|---|
svg/themes | Thèmes SVG Standard par défaut. |
svg/dynthemes | Thèmes SVG dynamiques optionnels. |
Détails de Construction
Éléments supportés
Un "Tutoriel SVG" peut être trouvé à https://www.w3schools.com/graphics/svg_intro.asp
Un code symbole SVG peut utiliser n'importe quel élément SVG mais … .
- Les mesures d'un symbole SVG standard est de 32 x 32 pixels;
- donc un cercle avec la valeur de son rayon ne peut pas être centré à l'intérieur de ce symbole, parce qu'il faut utiliser des valeurs entières pour n'importe quelle coordonnée;
- …
Élément | Signification |
---|---|
svg | entête |
g | groupe; au moins un g doit être présent |
path | pour créer des formes simples ou complexes |
rect | pour créer un rectangle |
circle | pour créer un cercle |
ellipse | pour créer une ellipse |
line | pour créer une ligne |
polygon | pour créer un graphique qui contient au moins trois cotés |
polyline | pour créer toute forme constituée uniquement de lignes droites |
L'élément préféré pour le dessin est le <chemin>.
Attributs d'entête
Exemples:
<svg width="100%" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> ... </svg> <svg ledsupport="true" width="100%" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> ... </svg>
L'entête du code symbole SVG doit avoir les attributs suivants réglés:
Élément | Attribut | Exemple | Signification |
---|---|---|---|
svg | - | - | aucun attribut LED et aucun G-STATE ne seront utilisés pour ce symbole |
ledsupport | ledsupport="true" | spécificité Rocrail; l'attribut LED sera utilisé pour ce symbole; en cas d'aiguillages G-STATE pourra également être utilisé pour ce symbole |
Attributs de l'élément SVG
G Élément SVG
Exemples:
<g state="straight"> ... </g> <g state="turnout"> ... </g> <g state="left"> ... </g> <g state="right"> ... </g>
Élément | Attribut | Exemple | Signification |
---|---|---|---|
g | state | state="straight" | Contrôle spécifique Rocrail pour exécuter ce groupe dans l'état donné |
PATH Élément SVG
Exemples:
<path led="1" stroke="rgb(192,192,192)" fill="rgb(192,192,192)" d="M 8,14 L 23,14 L 23,17 L 8,17 z "/> <path led="2" stroke="black" fill="rgb(255,0,0)" d="M 2,6 L 6,2 L 27,2 L 23,6 L 27,10 L 6,10 z "/>
Élément | Attribut | Exemple | Signification |
---|---|---|---|
path | led | led="1" | Contrôle spécifique Rocrail pour coloriser STROKE et FILL |
stroke | stroke="black" | définit la couleur de la ligne autour d'un élément; utiliser l'implicite STROKE-WIDTH de 1 |
|
fill | fill="rgb(192,192,192)" | définit la couleur de l'intérieur d'un élément | |
d | d="M 8,14 L 23,14 L 23,17 L 8,17 z " | un ensemble de commandes qui définissent le chemin; M = déplacer vers; L = ligne vers; Z = fermer le chemin; … avec des points x, y séparés par des virgules; x et y doivent être des valeurs entières |
RECT Élément SVG
Exemples:
<rect txt="1" x="0" y="0" rx="0" width="31" height="10" stroke="none" fill="none"/> <rect x="0" y="0" rx="0" width="1" height="1" stroke="rgb(0,0,255)" fill="rgb(0,0,255)"/>
Élément | Attribut | Exemple | Signification |
---|---|---|---|
rect | led | led="1" | Contrôle spécifique Rocrail pour coloriser STROKE et FILL |
txt | txt="1" | spécification Rocrail; pour spécifier l'emplacement de la chaîne d'identification des symboles; ne fonctionnera qu'avec RECT; |
|
x | x="0" | the x-position of the top-left corner of the rectangle | |
y | y="0" | the y-position of the top-left corner of the rectangle | |
rx | rx="0" | the rx attribute defines the radius of the corners of the rectangle | |
ry | ry="0" | the ry attribute defines the radius of the corners of the rectangle | |
stroke | stroke="black" | sets the color of the line around an element; use the implicit STROKE-WIDTH of 1 |
|
fill | fill="rgb(192,192,192)" | sets the color of the inside of an element |
Les valeurs des attributs LED
Les valeurs normales des attributs LED sont dans une plage de 1 à 99.
Avec des décalages par rapport à la valeur normale, la signification peut être étendue:
LED | Décalage | Signification | Remarque |
---|---|---|---|
- | - | les couleurs à l'intérieur du symbole SVG sont affichées | |
led="x" | +0 | La couleur FILL sera configurée à la couleur de l'état actuel | |
led="x" | +100 | La couleur STROKE sera également configurée à la couleur de l'état actuel | |
led="x" | +200 | La couleur STROKE sera configurée à la couleur noire | |
led="x" | +300 | Le STROKE devient l'état de la couleur et FILL sera configuré à aucun (transparent) | Peut être utilisé pour tester les cadres de texte. |
Les valeurs d'attribut LED suivantes sont définies:
Nom | Valeur |
---|---|
voie ou bloc | |
occ | 1 |
bloc | |
blockstate | 2 |
sensplus | 3 |
sensmin | 4 |
arrowplus | 5 |
arrowmin | 6 |
sensor | |
stateoff | 2 |
stateon | 3 |
signal | |
red | 2 |
green | 3 |
yellow | 4 |
white | 5 |
blank | 6 |
Propriétés d'illumination SVG
Chaque répertoire de thème SVG contiendra le fichier "properties.xml" qui contient les propriétés d'illumination pour ce thème SVG. Les contenus peuvent être édités dans les Propriétés Rocview / SVG / Thème X / Propriétés
Un exemple est montré ci-dessous: