canvas.go
func DrawTextVertical(x, y int, text string) {
	PushAttributes()
	defer PopAttributes()

	defText, defBack := TextColor(), BackColor()
	firstdrawn := InClipRect(x, y)

	parser := NewColorParser(text, defText, defBack)
	elem := parser.NextElement()
	for elem.Type != ElemEndOfText {
		if elem.Type == ElemPrintable {
			SetTextColor(elem.Fg)
			SetBackColor(elem.Bg)
			drawn := PutChar(x, y, elem.Ch)
			y += 1
			if firstdrawn && !drawn {
				break
			}
		}

		elem = parser.NextElement()
	}
}
func DrawTextVertical(x, y int, text string) {
	PushAttributes()
	defer PopAttributes()

	defText, defBack := TextColor(), BackColor()
	firstdrawn := InClipRect(x, y)

	parser := NewColorParser(text, defText, defBack)
	elem := parser.NextElement()
	for elem.Type != ElemEndOfText {
		if elem.Type == ElemPrintable {
			SetTextColor(elem.Fg)
			SetBackColor(elem.Bg)
			drawn := PutChar(x, y, elem.Ch)
			y += 1
			if firstdrawn && !drawn {
				break
			}
		}

		elem = parser.NextElement()
	}
}
func DrawTextVertical ( x , y int , text string ) { PushAttributes ( ) defer PopAttributes ( ) defText , defBack := TextColor ( ) , BackColor ( ) firstdrawn := InClipRect ( x , y ) parser := NewColorParser ( text , defText , defBack ) elem := parser . NextElement ( ) for elem . Type != ElemEndOfText { if elem . Type == ElemPrintable { SetTextColor ( elem . Fg ) SetBackColor ( elem . Bg ) drawn := PutChar ( x , y , elem . Ch ) y += 1 if firstdrawn && ! drawn { break } } elem = parser . NextElement ( ) } }
// DrawTextVertical draws the part of text that is inside the current clipping
// rectangle. DrawTextVertical always paints colorized string. If you want to draw
// raw string then use DrawRawTextVertical function
DrawTextVertical draws the part of text that is inside the current clipping rectangle . DrawTextVertical always paints colorized string . If you want to draw raw string then use DrawRawTextVertical function