// package label -- текстовая метка для отображения package label import ( "gitp78su.ipnodns.ru/svi/goarch/lev0/alias" "gitp78su.ipnodns.ru/svi/goarch/lev0/types" "gitp78su.ipnodns.ru/svi/goarch/pkg/elems/coord" "gitp78su.ipnodns.ru/svi/goarch/pkg/elems/offset" ) // Label -- текстовая метка для отображения type Label struct { Label_ alias.Label `json:"label"` // Метка для вывода Offset_ *offset.Offset `json:"offsetX"` // Смещение метки Coord_ *coord.Coord `json:"coord"` // Координаты метки } // NewLabel -- возвращает новую метку func NewLabel(elem map[string]interface{}) *Label { var label string _label, isOk := elem["label"] if !isOk { label = "" } else { label = _label.(string) } return &Label{ Label_: alias.Label(label), Offset_: offset.NewOffset(elem), Coord_: coord.NewCoord("coord", elem), } } // Get -- возвращает метку func (sf *Label) Get() alias.Label { return sf.Label_ } // Coord -- возвращает координаты метки func (sf *Label) Coord() types.ICoord { return sf.Coord_ } // Offset -- возвращает смещение метки func (sf *Label) Offset() types.IOffset { return sf.Offset_ }