Documentation ¶
Index ¶
- Variables
- func ParseSVGColor(colorStr string) (color.Color, error)
- func ParseSVGColorNum(colorStr string) (r, g, b uint8, err error)
- type ErrorMode
- type IconCursor
- type PathCursor
- type PathStyle
- type SvgIcon
- type SvgPath
- func (svgp *SvgPath) Draw(r *rasterx.Dasher, opacity float64)
- func (svgp *SvgPath) DrawTransformed(r *rasterx.Dasher, opacity float64, t rasterx.Matrix2D)
- func (svgp *SvgPath) GetFillColor() color.Color
- func (svgp *SvgPath) GetLineColor() color.Color
- func (svgp *SvgPath) SetFillColor(clr color.Color)
- func (svgp *SvgPath) SetLineColor(clr color.Color)
Constants ¶
This section is empty.
Variables ¶
var DefaultStyle = PathStyle{1.0, 1.0, 2.0, 0.0, 4.0, nil, true, color.NRGBA{0x00, 0x00, 0x00, 0xff}, nil, nil, nil, rasterx.ButtCap, rasterx.Bevel, rasterx.MatrixAdder{M: rasterx.Identity}}
DefaultStyle sets the default PathStyle to fill black, winding rule, full opacity, no stroke, ButtCap line end and Bevel line connect.
Functions ¶
func ParseSVGColor ¶
ParseSVGColor parses an SVG color string in all forms including all SVG1.1 names, obtained from the colornames package
func ParseSVGColorNum ¶
ParseSVGColorNum reads the SFG color string e.g. #FBD9BD
Types ¶
type ErrorMode ¶
type ErrorMode uint8
ErrorMode is the for setting how the parser reacts to unparsed elements
type IconCursor ¶
type IconCursor struct { PathCursor StyleStack []PathStyle // contains filtered or unexported fields }
IconCursor is used while parsing SVG files
func (*IconCursor) PushStyle ¶
func (c *IconCursor) PushStyle(attrs []xml.Attr) error
PushStyle parses the style element, and push it on the style stack. Only color and opacity are supported for fill. Note that this parses both the contents of a style attribute plus direct fill and opacity attributes.
func (*IconCursor) ReadGradAttr ¶
func (c *IconCursor) ReadGradAttr(attr xml.Attr) (err error)
ReadGradAttr reads an SVG gradient attribute
func (*IconCursor) ReadGradURL ¶
func (c *IconCursor) ReadGradURL(v string, defaultColor interface{}) (grad rasterx.Gradient, ok bool)
ReadGradURL reads an SVG format gradient url Since the context of the gradient can affect the colors the current fill or line color is passed in and used in the case of a nil stopClor value
type PathCursor ¶
type PathCursor struct { rasterx.Path ErrorMode ErrorMode // contains filtered or unexported fields }
PathCursor is used to parse SVG format path strings into a rasterx Path
func (*PathCursor) AddArcFromA ¶
func (c *PathCursor) AddArcFromA(points []float64)
AddArcFromA adds a path of an arc element to the cursor path to the PathCursor
func (*PathCursor) CompilePath ¶
func (c *PathCursor) CompilePath(svgPath string) error
CompilePath translates the svgPath description string into a rasterx path. All valid SVG path elements are interpreted to rasterx equivalents. The resulting path element is stored in the PathCursor.
func (*PathCursor) EllipseAt ¶
func (c *PathCursor) EllipseAt(cx, cy, rx, ry float64)
EllipseAt adds a path of an elipse centered at cx, cy of radius rx and ry to the PathCursor
func (*PathCursor) GetPoints ¶
func (c *PathCursor) GetPoints(dataPoints string) error
GetPoints reads a set of floating point values from the SVG format number string, and add them to the cursor's points slice.
func (*PathCursor) ReadFloat ¶
func (c *PathCursor) ReadFloat(numStr string) error
ReadFloat reads a floating point value and adds it to the cursor's points slice.
type PathStyle ¶
type PathStyle struct {
FillOpacity, LineOpacity float64
LineWidth, DashOffset, MiterLimit float64
Dash []float64
UseNonZeroWinding bool
LineGap rasterx.GapFunc
LeadLineCap rasterx.CapFunc // This is used if different than LineCap
LineCap rasterx.CapFunc
LineJoin rasterx.JoinMode
// contains filtered or unexported fields
}
PathStyle holds the state of the SVG style
type SvgIcon ¶
type SvgIcon struct { ViewBox struct{ X, Y, W, H float64 } Titles []string // Title elements collect here Descriptions []string // Description elements collect here Grads map[string]*rasterx.Gradient Defs map[string][]definition SVGPaths []SvgPath Transform rasterx.Matrix2D // contains filtered or unexported fields }
SvgIcon holds data from parsed SVGs
func ReadIcon ¶
ReadIcon reads the Icon from the named file This only supports a sub-set of SVG, but is enough to draw many icons. If errMode is provided, the first value determines if the icon ignores, errors out, or logs a warning if it does not handle an element found in the icon file. Ignore warnings is the default if no ErrorMode value is provided.
func ReadIconStream ¶
ReadIconStream reads the Icon from the given io.Reader This only supports a sub-set of SVG, but is enough to draw many icons. If errMode is provided, the first value determines if the icon ignores, errors out, or logs a warning if it does not handle an element found in the icon file. Ignore warnings is the default if no ErrorMode value is provided.
type SvgPath ¶
SvgPath binds a style to a path
func (*SvgPath) DrawTransformed ¶
DrawTransformed draws the compiled SvgPath into the Dasher while applying transform t.
func (*SvgPath) GetFillColor ¶
GetFillColor returns the fill color of the SvgPath if one is defined and otherwise returns colornames.Black
func (*SvgPath) GetLineColor ¶
GetLineColor returns the stroke color of the SvgPath if one is defined and otherwise returns colornames.Black
func (*SvgPath) SetFillColor ¶
SetFillColor sets the fill color of the SvgPath
func (*SvgPath) SetLineColor ¶
SetLineColor sets the line color of the SvgPath