func (a *Arch) addExternalPort(c pf.ChannelIf, mode gr.PositionMode, idx int) { config := DrawConfig{ColorInit(ColorOption(NormalArchPort)), ColorInit(ColorOption(HighlightArchPort)), ColorInit(ColorOption(SelectArchPort)), ColorInit(ColorOption(BoxFrame)), Color{}, image.Point{}} ap := c.ArchPort() if ap == nil { log.Printf("Arch.addExternalPort error: channel %v has no arch port\n", c) return } positioner := gr.ModePositionerProxyNew(ap, mode) a.AddPort(config, ap, positioner) }