User Tools

Site Tools


symbols-en

This is an old revision of the document!


SVG symbols

Themes directory structure

:!: In revision 14318 the SVG Themes are reorganised; Check the SVG paths.


The official themes are located in the subdirectory svg/themes.
All other sub directories are user defined themes.


The Official SpDrS60 Theme

The official theme is SpDrS60.
For testing and problem reporting this theme should be used.
All other themes must follow the naming, connection and size convention of the SpDrS60 theme.

Setup



Theme 1 - 5

Select the desired themes and restart Rocview to activate them.
If you have defined your own SVG symbol for a certain item, place it in the "Setup" list before the Theme that has the default symbol.
That means the first Theme determines how a SVG is portrayed.

Properties

The button opens the dialog Theme properties to the first SVG theme.

Item ID Pointsize

Adjust the pointsize for item IDs to fit the ID length choosen. Default is 7.
The Rocview has to be restarted for changes to take affect.

Color

The item ID color. Default is black.

Text Pointsize

Adjust the pointsize for Block ID and for Text objects with zero pointsize.
Best results for: 1)

  • OS X = 14
  • Linux = 13
  • Windows = 10
  • Default = 10

The Rocview has to be restarted for changes to take affect.

Process route/block events

To reduce processor resources these options can be disabled.


Show routes on switches

By activating this option the normal switch positions will be shown in Cyan.2)
For reserved routes this color will change in Yellow.
Raster switch types are not supported by this option.
Only the SpDrS60 theme has the needed SVGs.

To get the route IDs automatically set in the switch objects the analyzer must be started again if the routes were generated with a revision older then 7884.
In case of manual routes use the Select dialog.

Route prio

Overwrites block occupancy in case a route is reserved.

Examples

Track/Road Layout

Track and road symbols can be mixed in one layout:

The road symbols have the same naming as the track symbols but are prefixed with road-.


Create SVG symbols

Text editor

If you wish to use your own symbols in a track plan you have to create these symbols SVG format.
The symbol size is set in the svg file, but make sure those values are a multiple of 32.

Turntables are not supported in SVG because of its very complex nature.

The file names are predetermined for each state of a symbol as listed here: Symbol Names

The path must be conform:
http://www.w3.org/TR/SVG11/paths.html#PathData

But only M, L, C and z are evaluated. All coordinates are rounded to integers.
The Curve is defined in the "w3" document but not supported in Rocview and Inkscape. Its have never been used in the Themes.

The following example (track with blue outline filled yellow ) shows which information is basically evaluated by Rocview:

<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
  <g>
    <path stroke="blue" stroke-width="1" fill="yellow" d="M 0,16 L 2,13 L 29,13 L 31,15 L 31,16 L 29,18 L 2,18 L 0,16 z " />
  </g>
</svg>

The path node maybe multiple listed.
Rotation is done in the Rocview.

Curves and circles:

<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
  <g>
    <circle cx="16" cy="12" r="5" fill="red" stroke="blue"/>
  </g>
</svg>

Note: To create curves it's recommended to use <circle …/> and partly cover with another elements. Alternativ it's possible to use multiple short strokes or points.

SVG viewer and editor

The Online tool SVG-Viewer/Editor can be useful to view SVG, create and edit.
It's not so powerful as Inkscape, but it's much easier to use than Inkscape or others.

To become familiar with the tool, is recommend to open an SVG file from a Rocrail theme.
Changes to the code elements make it very easy to see the effects on the Symbol representation.
Alternatively, code sections on this wiki page are also suitable if they are transferred to the tool via Copy & Paste .

Since the tool's "New" function does not create a frame that matches Rocrail's symbols, the following frame should first be copied to the tool's Code window to create new symbols:

<svg width="32" height="32">
  <g>
    <!-- Insert the SVG elements here -->
  </g>
</svg>

Alternatively, a new SVG file can of course also be created by modifying an existing file.

Funktions
New
Open SVG file
View SVG code
Save SVG file


Inkscape

You can use Inkscape http://www.inkscape.org/ and start to create a new 32x32 icon. Rocrail supports just integers for coordinated and therefore the following settings are quite useful:

These settings , especially 'Always snap', apply only during the creation of a path (Shift+F6) . As soon as you try to move path nodes with the mouse Inkscape will create decimal coordinates again.

Another useful setting is to switch on the the outline display:

At the moment the only thing evaluated in Rocrail are <path../>.
With Shift+F6 you can start this sequence; try to generate Lines only, no Curves.
As soon as you're done with the graphics save the file in Inkscape and open it with a text editor to copy the path information into another new file.

Default Symbols

Default symbols are SVG like vector graphics, and are hardcoded in the Rocgui sources.
They only are needed when the Rocrail installation is broken, and there are only some basic symbols available! Report it if you are having trouble with symbols.


Blinking Aspects

Starting with revision 5315 a second Graphics Container3) can be added in the SVG definition which will be alternated every second.
Only signal objects are enabled for this feature.

Example

<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
  <g>
    <path stroke="blue" fill="yellow" d="M 0,16 L 2,13 L 29,13 L 31,15 L 31,16 L 29,18 L 2,18 L 0,16 z " />
  </g>
  <g>
    <path stroke="blue" fill="grey" d="M 0,16 L 2,13 L 29,13 L 31,15 L 31,16 L 29,18 L 2,18 L 0,16 z " />
  </g>
</svg>


1)
Dependents of screen resolution and taste.
2)
Cyan=rgb(0,255,255
3)
<g></g> Section
symbols-en.1552689269.txt.gz · Last modified: 2019/03/15 23:34 by rainerk