// package canvas -- оюъект холста package canvas import ( svg "github.com/ajstarks/svgo" "gitp78su.ipnodns.ru/svi/goarch/pkg/elems/coord" ) // Canvas -- оюъект холста type Canvas struct { size *coord.Coord pos *coord.Coord diaMode string } // NewCanvas -- возвращает новый холст func NewCanvas(diaMode string, elem map[string]interface{}) *Canvas { size := coord.NewCoord("size", elem) pos := coord.NewCoord("pos", elem) sf := &Canvas{ size: size, pos: pos, diaMode: diaMode, } return sf } // Draw -- рисует холст func (sf *Canvas) Draw(canvas *svg.SVG) { x := int(sf.pos.X_) y := int(sf.pos.Y_) w := int(sf.size.X_) h := int(sf.size.Y_) canvas.Rect(0, 0, w, h, "fill:white;stroke:red;stroke-width:1") canvas.Text(x, y+2, "АРХИТЕКТУРНОЕ РЕШЕНИЕ", "font-size: 20px; font-family: sans-serif; fill: black") canvas.Text(x+15, y+20, sf.diaMode, "font-size: 14px; font-family: sans-serif; fill: black") } // Size -- возвращает размер холста func (sf *Canvas) Size() (int, int) { x := int(sf.size.X_) y := int(sf.size.Y_) return x, y }