draw2d/draw2dsvg/svg.go

51 lines
1.1 KiB
Go
Raw Normal View History

2017-12-21 17:18:29 +00:00
// Copyright 2015 The draw2d Authors. All rights reserved.
// created: 16/12/2017 by Drahoslav Bednář
2017-12-22 08:59:31 +00:00
2017-12-21 17:18:29 +00:00
package draw2dsvg
import (
"encoding/xml"
)
2017-12-22 21:40:56 +00:00
/* svg elements */
2017-12-21 17:18:29 +00:00
type Svg struct {
XMLName xml.Name `xml:"svg"`
Xmlns string `xml:"xmlns,attr"`
Groups []Group `xml:"g"`
2017-12-24 14:31:09 +00:00
FillStroke
2017-12-21 17:18:29 +00:00
}
type Group struct {
2017-12-22 21:40:56 +00:00
FillStroke
Transform string `xml:"transform,attr,omitempty"`
Groups []Group `xml:"g"`
Paths []Path `xml:"path"`
Texts []Text `xml:"text"`
2017-12-21 17:18:29 +00:00
}
type Path struct {
2017-12-22 21:40:56 +00:00
FillStroke
Desc string `xml:"d,attr"`
2017-12-21 17:18:29 +00:00
}
type Text struct {
2017-12-22 21:40:56 +00:00
FillStroke
Text string `xml:",innerxml"`
2017-12-24 14:31:09 +00:00
Style string `xml:"style,attr,omitempty"`
2017-12-22 21:40:56 +00:00
}
/* shared attrs */
type FillStroke struct {
2017-12-24 15:05:15 +00:00
Fill string `xml:"fill,attr,omitempty"`
FillRule string `xml:"fill-rule,attr,omitempty"`
Stroke string `xml:"stroke,attr,omitempty"`
StrokeWidth string `xml:"stroke-width,attr,omitempty"`
StrokeLinecap string `xml:"stroke-linecap,attr,omitempty"`
StrokeLinejoin string `xml:"stroke-linejoin,attr,omitempty"`
StrokeDasharray string `xml:"stroke-dasharray,attr,omitempty"`
StrokeDashoffset string `xml:"stroke-dashoffset,attr,omitempty"`
}