// package view_use_group -- отображение группы вариантов использования package view_use_group import ( svg "github.com/ajstarks/svgo" "gitp78su.ipnodns.ru/svi/goarch/lev0/alias" "gitp78su.ipnodns.ru/svi/goarch/lev0/types" "gitp78su.ipnodns.ru/svi/goarch/pkg/elems/use_group" "gitp78su.ipnodns.ru/svi/kern/v3" ) // ViewUseGroup -- отображение группы вариантов использования type ViewUseGroup struct { UseGroup *use_group.UseGroup } var( hassert=kern.GetFnHassert() ) // NewViewUseGroup -- возвращает новое отображение группы вариант использования func NewViewUseGroup(useGroup *use_group.UseGroup, elem map[string]interface{}) (*ViewUseGroup, error) { hassert(useGroup != nil, "NewViewUseGroup(): useGroup == nil") sf := &ViewUseGroup{ UseGroup: useGroup, } return sf, nil } // Draw -- рисует группу вариантов использования func (sf *ViewUseGroup) Draw(canvas *svg.SVG, mapElem map[alias.Id]types.IElemDrawer) { x := int(sf.UseGroup.ElemBase_.Label_.Coord_.X_) y := int(sf.UseGroup.ElemBase_.Label_.Coord_.X_) offX := int(sf.UseGroup.ElemBase_.Label_.Offset_.X_) w := int(sf.UseGroup.Size_.W_) h := int(sf.UseGroup.Size_.H_) // Главный квадрат canvas.Rect(x, y, w, h, "fill:none;stroke:black") // Заголовок canvas.Rect(x, y-26, h/2, 26, "fill:none;stroke:black") strLabel:=string(sf.UseGroup.ElemBase_.Label_.Val_) if strLabel != "" { canvas.Text(x+offX, y-8, strLabel, "font-size: 14px; font-family: Courier; fill: black") } }