summaryrefslogtreecommitdiff
path: root/navit/script/gensvg
blob: 1523201f69a30134521c823e51c0f02d48f6887d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#! /bin/sh

makearrow()
{
cat <<EOT 
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   width="64px"
   height="64px">
  <g>
    <path
       d="M 32,63 L 32,$ya C $xg,$yd $xi,$yc $xe,$yb"
       style="fill:none;stroke:#${colval};stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
    <path
         transform="translate($xe,$yb) scale(3) rotate($angle)"
         d="M -4,1 L 0,-7 L 4,1 C 2,-1 -2,-1 -4,1"
         style="fill:#${colval};stroke:#${colval};stroke-linejoin:round"
         />

  </g>
</svg>
EOT
}

for col in bk wh
do
	case $col in
	bk)
		colval="000000"
		;;
	wh)
		colval="ffffff"
		;;
	esac
	for dir in left right
	do
		case $dir in
		left)
			angle=360
			step=-45
			xa=33.5
			xb=26
			xc=16
			xd=22
			xf=32
			xh=28
			;;
		right)
			angle=0
			step=45
			xa=30
			xb=38
			xc=48
			xd=42
			xf=32
			xh=36
			;;
		esac
		for st in 1 2 3
		do
			case $st in
			1)
				ya=42
				yb=20
				yc=31
				yd=31
				xe=$xd
				xg=$xf
				xi=$xf
				;;
			2)
				ya=25
				yb=20
				yc=20
				yd=22
				xe=$xd
				xg=$xf
				xi=$xh
				;;
			3)
				ya=32
				yb=26
				yc=16
				yd=10
				xe=$xc
				xg=$xa
				xi=$xb
				;;
			esac
			angle=$((angle+step))
				filename="nav_${dir}_${st}_$col.svg"
				makearrow >$filename
		done
	done
	filename="nav_straight_$col.svg"
	xa=32
	xb=32
	xc=32
	xd=32
	xe=32
	xf=32
	xg=32
	xh=32
	xi=32
	angle=0
	makearrow >$filename
done