| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // 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
- }
|