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) } }