User Tools

Site Tools


svg:dynthemes-de

SVG-Dynamische-Themen

InhaltRocview SVG-Themen


Diese Dokumentation basiert auf der Rocrail-Version 2.1.4966 vom 03.08.2024.
Die Entwiklung ist noch "In Arbeit" (WIP).

Einführung

SVG-Symbole (Scalable Vector Graphics) werden verwendet, um Rocrail-Objektsymbole zu definieren und den Inhalt einer Rocrail-Plandatei anzuzeigen.
SVG-Symbole können mit dem internen Rocview-SVG-Editor von Rocview erzeugt und/oder geändert werden.

Pfad

Die Pfade zu den SVG-Symbolen sind:

Path Description
svg/themes Standardmäßige SVG-Themen.
svg/dynthemes Optionale dynamische SVG-Themen.

Konstruktionsdetails

Unterstützte Elemente

Ein „SVG-Tutorial“ findet sich unter https://www.w3schools.com/graphics/svg_intro.asp
Ein SVG-Symbolcode kann jedes beliebige SVG-Element verwenden, aber … .
- das Standard-SVG-Symbol misst 32 x 32 Pixel;
- daher kann ein Kreis mit seinem Radiuswert nicht innerhalb dieses Symbols zentriert werden, da für alle Koordinaten ganzzahlige Werte verwendet werden müssen;
- …

Element Bedeutung
svg Kopf
g Gruppe; mindestens ein g muss enthalten sein
path einfache oder komplexe Formen erstellen
rect ein Rechteck erstellen
circle einen Kreis erstellen
ellipse eine Ellipse erstellen
line eine Linie erstellen
polygon eine Grafik mit mindestens drei Seiten erstellen
polyline ein Form nur aus geraden Linien erstellen

Das bevorzugte Element fürs Zeichnen ist <path>.

Kopfzeilen-Attribute

Beispiele:

  <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>

Die Kopfzeile des SVG-Symbolcodes sollte die folgenden Attribute enthalten:

Element Attribute Beispiele Bedeutung
svg - - kein LED-Attribute und kein G-STATE wid für dieses Symbol verwendet
ledsupport ledsupport="true" Rocrail spezifisch; LED-Attribute werden für deises Symbol verwendet;
im Fall von Weichen wird G-STATE auch für dieses Symbol verwendet

SVG-Element-Attribute

SVG-Element G

Beispiele:

  <g state="straight"> ... </g>
  <g state="turnout"> ... </g>
  <g state="left"> ... </g>
  <g state="right"> ... </g>
Element Attribute Beispiele Bedeutung
g state state="straight" Rocrail-spezifische-Steuerung, um diese Gruppe bei dem gegebenen Status auszuführen

SVG-Element PATH

Beispiele:

<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 "/>
Element Attribute Beispiele Bedeutung
path led led="1" Rocrail-spezifische-Steuerung, um STROKE und FILL einzufärben
stroke stroke="black" legt die Farbe der Linie um ein Element fest;
verwendet die implizite STROKE-WIDTH von 1
fill fill="rgb(192,192,192)" sets the color of the inside of an element
d d="M 8,14 L 23,14 L 23,17 L 8,17 z " eine Reihe von Befehlen, die den Pfad definieren;
M = moveto; L = lineto; Z = close path; … mit komma-separierten x,y-Punkten;
x und y müssen Integer-Werte sein

SVG-Element RECT

Beispiele:

<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)"/>
Element Attribute Beispiele Bedeutung
rect led led="1" Rocrail-spezifische-Steuerung, um STROKE und FILL einzufärben
txt txt="1" Rocrail-spezifisch; um die Positionierung der Symbol-Kennungs-Zeichenkette zu bestimmen;
funktioniert nur mit RECT;
x x="0" die x-Position der oberen linken Ecke des Rechtecks
y y="0" die y-Position der oberen linken Ecke des Rechtecks
rx rx="0" das rx-Attribut definiert den Radius der Ecken des Rechtecks
ry ry="0" das ry-Attribut definiert den Radius der Ecken des Rechtecks
stroke stroke="black" bestimmt die Farbe der Linie um das Element;
verwendet die implizite STROKE-WIDTH von 1
fill fill="rgb(192,192,192)" bestimmt die Farbe innerhalb des Elements

LED-Attribut-Werte

Die normalen LED-Attributwerte liegen im Bereich von 1 bis 99.
Durch Offsets zum Normalwert lässt sich die Bedeutung erweitern:

LED Offset Bedeutung Bemerkung
- - die Farben innerhalb des SVG-Symbols werden angezeigt
led="x" +0 die Füll-Farbe wird auf die aktuwelle Status-Farbe gesetzt
led="x" +100 die STROKE-Farbe wird auf die aktuwelle Status-Farbe gesetzt
led="x" +200 die STROKE-Farbe wird auf die Schwarz-Farbe gesetzt
led="x" +300 der STROKE erhält die Status-Farbe und FILL wird auf "nonbe" gesetzt (transparent) Kann für Test des Text-Rahmens verwendet werden.

Die folgenden LED-Attribut-Werte sind definiert:

Name Wert
Gleis oder Block
occ 1
Block
blockstate 2
sensplus 3
sensmin 4
arrowplus 5
arrowmin 6
Rückmelder
stateoff 2
stateon 3
Signal
red 2
green 3
yellow 4
white 5
blank 6



SVG-Ausleuchtungs-Eigenschaften

Jeder SVG-Themenordner enthält die Datei „properties.xml“, die die Ausleuchtungseigenschaften für dieses SVG-Thema enthält. Der Inhalt kann unter "Rocview-Menü → -Eigenschaften → SVG → Thema X → Eigenschaften" bearbeitet werden.
Ein Beispiel wird unten angezeigt:

Symbol-List

zu erledigen






svg/dynthemes-de.txt · Last modified: 2024/08/08 02:04 by rainerk