working on svg

This commit is contained in:
Stephan Richter
2020-09-07 01:00:57 +02:00
parent 3583a62667
commit 6db6623d8e
25 changed files with 134 additions and 170 deletions

View File

@@ -1,20 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class DiagNE extends Tile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("polygon")
.attr("points","35,0 65,0 100,35 100,65")
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,20 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class DiagSW extends Tile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("polygon")
.attr("points","0,35 65,100 35,100 0,65")
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,20 +1,4 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class DiagWN extends Tile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("polygon")
.attr("points","35,0 65,0 0,65 0,35")
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,22 +1,4 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class EndE extends Tile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(60,30)
.pos(40,35)
.addTo(svg);
return svg.toString();
}
}

View File

@@ -0,0 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class EndW extends Tile{}

View File

@@ -1,21 +1,4 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class StraightH extends StretchableTile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(100,30)
.pos(0,35)
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,21 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class StraightV extends StretchableTile{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(30,100)
.pos(35,0)
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,6 +1,10 @@
package de.srsoftware.web4rail.tiles;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Scanner;
import de.keawe.tools.translations.Translation;
import de.srsoftware.tools.Tag;
@@ -21,20 +25,33 @@ public abstract class Tile {
return this;
}
public String html() {
public String html() throws IOException {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("title").content(t("No display defined for this tile ({})",getClass().getSimpleName())).addTo(svg);
new Tag("text")
File file = new File(System.getProperty("user.dir")+"/svg/"+getClass().getSimpleName()+".svg");
if (file.exists()) {
Scanner scanner = new Scanner(file, StandardCharsets.UTF_8);
StringBuffer sb = new StringBuffer();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.startsWith("<svg") || line.endsWith("svg>")) continue;
sb.append(line+"\n");
}
scanner.close();
svg.content(sb.toString());
} else {
new Tag("title").content(t("No display defined for this tile ({})",getClass().getSimpleName())).addTo(svg);
new Tag("text")
.pos(35,70)
.content("?")
.addTo(svg);
}
return svg.toString();
}

View File

@@ -1,25 +1,4 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class TurnoutSE extends Turnout{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(30,100)
.pos(35,0)
.addTo(svg);
new Tag("polygon")
.attr("points","35,100 100,35 100,65 65,100")
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,25 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class TurnoutSW extends Turnout{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(30,100)
.pos(35,0)
.addTo(svg);
new Tag("polygon")
.attr("points","0,35 65,100 35,100 0,65")
.addTo(svg);
return svg.toString();
}
}

View File

@@ -1,25 +1,5 @@
package de.srsoftware.web4rail.tiles;
import de.srsoftware.tools.Tag;
public class TurnoutWS extends Turnout{
public String html() {
Tag svg = new Tag("svg")
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
new Tag("rect")
.size(100,30)
.pos(0,35)
.addTo(svg);
new Tag("polygon")
.attr("points","0,35 65,100 35,100 0,65")
.addTo(svg);
return svg.toString();
}
}