-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
68 lines (57 loc) · 1.74 KB
/
main.go
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
// English:
//
// This example was taken from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-end
//
// Português:
//
// Este exemplo foi retirado do site https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-end
//
// <svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
// <defs>
// <marker id="triangle" viewBox="0 0 10 10"
// refX="1" refY="5"
// markerUnits="strokeWidth"
// markerWidth="10" markerHeight="10"
// orient="auto">
// <path d="M 0 0 L 10 5 L 0 10 z" fill="#f00"/>
// </marker>
// </defs>
// <polyline fill="none" stroke="black"
// points="20,100 40,60 70,80 100,20" marker-end="url(#triangle)"/>
// </svg>
//go:build js
// +build js
package main
import (
"github.com/helmutkemper/iotmaker.webassembly/browser/factoryBrowser"
"github.com/helmutkemper/iotmaker.webassembly/browser/html"
"github.com/helmutkemper/iotmaker.webassembly/platform/factoryColor"
)
func main() {
done := make(chan struct{}, 0)
stage := factoryBrowser.NewStage()
s1 := factoryBrowser.NewTagSvg().ViewBox([]float64{0, 0, 120, 120}).Append(
factoryBrowser.NewTagSvgDefs().Append(
factoryBrowser.NewTagSvgMarker().Id("triangle").ViewBox([]float64{0, 0, 10, 10}).RefX(1).RefY(5).MarkerUnits(html.KSvgMarkerUnitsStrokeWidth).
MarkerWidth(10).MarkerHeight(10).Orient(html.KSvgOrientAuto).Append(
factoryBrowser.NewTagSvgPath().D(factoryBrowser.NewPath().M(0, 0).L(10, 5).L(0, 10).Z()).Fill("#F00"),
),
),
factoryBrowser.NewTagSvgPolyline().Fill(nil).Stroke(factoryColor.NewBlack()).Points([][]float64{{20, 100}, {40, 60}, {70, 80}, {100, 20}}).MarkerEnd("url(#triangle)"),
)
stage.Append(s1)
<-done
}
//
//
//
//
//
//
//
//
//
//
//
//
//