1
+ < ?xml version="1.0" encoding="utf-8"?>
2
+ <!--
3
+ Copyright (c) 2012 Rüdiger Appel
4
+ Copyright (c) 2015 Roger Meier <[email protected] >
5
+
6
+ SPDX-License-Identifier: MIT
7
+ -->
8
+ < script type ="text/javascript " src ="js/app.js " charset ="utf-8 "> </ script >
9
+ < svg xmlns ="http://www.w3.org/2000/svg "
10
+ xmlns:xlink ="http://www.w3.org/1999/xlink "
11
+ xmlns:ev ="http://www.w3.org/2001/xml-events "
12
+ version ="1.1 "
13
+ baseProfile ="full "
14
+ width ="100% "
15
+ height ="100% "
16
+ viewBox ="0 0 200 200 ">
17
+
18
+ < defs >
19
+
20
+ <!-- three hour stroke (DIN 41091.1) -->
21
+ < symbol id ="threeHourStroke ">
22
+ < line x1 ="100 " y1 ="0 " x2 ="100 " y2 ="30 " style ="stroke:#333; stroke-width:8.4; stroke-linecap:butt "/>
23
+ </ symbol >
24
+
25
+ <!-- hour stroke (DIN 41091.1) -->
26
+ < symbol id ="hourStroke ">
27
+ < line x1 ="100 " y1 ="0 " x2 ="100 " y2 ="24 " style ="stroke:#333; stroke-width:8.4; stroke-linecap:butt "/>
28
+ </ symbol >
29
+
30
+ <!-- minute stroke (DIN 41091.1) -->
31
+ < symbol id ="minuteStroke ">
32
+ < line x1 ="100 " y1 ="0 " x2 ="100 " y2 ="8 " style ="stroke:#333; stroke-width:3.6; stroke-linecap:butt "/>
33
+ </ symbol >
34
+
35
+ <!-- quarter strokes -->
36
+ < symbol id ="quarterStrokes ">
37
+ < use xlink:href ="#threeHourStroke " />
38
+ < use xlink:href ="#minuteStroke " transform ="rotate( 6, 100, 100) "/>
39
+ < use xlink:href ="#minuteStroke " transform ="rotate(12, 100, 100) "/>
40
+ < use xlink:href ="#minuteStroke " transform ="rotate(18, 100, 100) "/>
41
+ < use xlink:href ="#minuteStroke " transform ="rotate(24, 100, 100) "/>
42
+ < use xlink:href ="#hourStroke " transform ="rotate(30, 100, 100) "/>
43
+ < use xlink:href ="#minuteStroke " transform ="rotate(36, 100, 100) "/>
44
+ < use xlink:href ="#minuteStroke " transform ="rotate(42, 100, 100) "/>
45
+ < use xlink:href ="#minuteStroke " transform ="rotate(48, 100, 100) "/>
46
+ < use xlink:href ="#minuteStroke " transform ="rotate(54, 100, 100) "/>
47
+ < use xlink:href ="#hourStroke " transform ="rotate(60, 100, 100) "/>
48
+ < use xlink:href ="#minuteStroke " transform ="rotate(66, 100, 100) "/>
49
+ < use xlink:href ="#minuteStroke " transform ="rotate(72, 100, 100) "/>
50
+ < use xlink:href ="#minuteStroke " transform ="rotate(78, 100, 100) "/>
51
+ < use xlink:href ="#minuteStroke " transform ="rotate(84, 100, 100) "/>
52
+ </ symbol >
53
+
54
+ <!-- visible dial circle -->
55
+ < clipPath id ="dialCircle ">
56
+ < circle cx ="100 " cy ="100 " r ="100 "/>
57
+ </ clipPath >
58
+
59
+ </ defs >
60
+
61
+ <!-- dial -->
62
+ < g clip-path ="url(#dialCircle) ">
63
+ < use xlink:href ="#quarterStrokes "/>
64
+ < use xlink:href ="#quarterStrokes " transform ="rotate( 90, 100, 100) "/>
65
+ < use xlink:href ="#quarterStrokes " transform ="rotate(180, 100, 100) "/>
66
+ < use xlink:href ="#quarterStrokes " transform ="rotate(270, 100, 100) "/>
67
+ </ g >
68
+
69
+ <!-- hour hand -->
70
+ < g id ="hourHand " style ="fill:#222 " visibility ="hidden ">
71
+ < rect x ="97.3 " y ="65 " width ="5.4 " height ="35 " style ="stroke:none "/>
72
+ < circle cx ="97.3 " cy ="58.5 " r ="9 " style ="stroke:none "/>
73
+ < circle cx ="102.7 " cy ="58.5 " r ="9 " style ="stroke:none "/>
74
+ < path d ="M 88.3,58.5 Q 88.3,52 100,37.5 Q 111.7,52 111.7,58.5 Z " style ="stroke:none "/>
75
+ < path d ="M 93.5,123 Q 100,125.5 106.5,123 Q 103,116 102.7,100 L 97.3,100 Q 97.3,116 93.5,123 Z " style ="stroke:none "/>
76
+ < circle cx ="100 " cy ="100 " r ="7.4 " style ="stroke:none "/>
77
+ </ g >
78
+
79
+ <!-- minute hand -->
80
+ < g id ="minuteHand " style ="fill:#222 " visibility ="hidden ">
81
+ < polygon points ="95.3,49 99.5,2 100.5,2 104.7,49 102.7,100 97.3,100 " style ="stroke:none "/>
82
+ < path d ="M 93.5,123 Q 100,125.5 106.5,123 Q 103,116 102.7,100 L 97.3,100 Q 97.3,116 93.5,123 Z " style ="stroke:none "/>
83
+ < circle cx ="100 " cy ="100 " r ="7 " style ="stroke:none "/>
84
+ </ g >
85
+
86
+ <!-- second hand -->
87
+ < g id ="secondHand " visibility ="hidden ">
88
+ < polygon points ="98,4 102,4 102.3,36 97.7,36 " style ="fill:#ad1a14; stroke:none "/>
89
+ < circle cx ="100 " cy ="45 " r ="10 " style ="fill:none; stroke:#ad1a14; stroke-width:4 "/>
90
+ < polygon points ="97.5,56 102.5,55 103,102 97,102 " style ="fill:#ad1a14; stroke:none "/>
91
+ </ g >
92
+
93
+ <!-- axis cover -->
94
+ < g id ="axisCover " style ="fill:#222 ">
95
+ < circle id ="axisCoverCircle " cx ="100 " cy ="100 " r ="7 " style ="stroke:none "/>
96
+ </ g >
97
+
98
+ </ svg >
99
+
0 commit comments