Example #1
0
func (c *Canvas) definition(canvas *svg.SVG) {
	canvas.Def()
	defer canvas.DefEnd()

	// Service block.
	canvas.Group(`id="serviceBlock"`,
		`transform="scale(0.8)"`)
	io.WriteString(canvas.Writer, assets.ServiceModule)
	canvas.Gend() // Gid

	// Relation health circle.
	canvas.Gid("healthCircle")
	canvas.Circle(
		healthCircleRadius,
		healthCircleRadius,
		healthCircleRadius,
		fmt.Sprintf("stroke:%s;fill:none;stroke-width:%dpx", relationColor, relationLineWidth),
	)
	canvas.Circle(
		healthCircleRadius,
		healthCircleRadius,
		healthCircleRadius/2,
		fmt.Sprintf("fill:%s", relationColor),
	)
	canvas.Gend()

	// Service and relation specific defs.
	for _, relation := range c.relations {
		relation.definition(canvas)
	}
	for _, service := range c.services {
		service.definition(canvas, c.iconsRendered, c.iconIds)
	}
}
Example #2
0
func drawDot(c *svg.SVG, x, y, s int) {
	//c.Rect(x, y, s, s, "fill:none; stroke:yellow")
	c.Circle(x+s/2, y+s/2, s/3)
}