예제 #1
0
파일: input.go 프로젝트: Charlesetc/pat
func Reset() {
	currentLine = []rune{}
	currentScroll = 0
	cursor = 0
	updateCursor()
	display.ShowLine(visibleLine())
	display.DrawLine()
}
예제 #2
0
파일: input.go 프로젝트: Charlesetc/pat
func CursorLeft() {
	if cursor != 0 {
		cursor--
	}
	if cursor < currentScroll {
		currentScroll--
		display.ShowLine(visibleLine())
	}
	updateCursor()
}
예제 #3
0
파일: input.go 프로젝트: Charlesetc/pat
func CursorAtEnd() {
	width := display.LineWidth()
	cursor = len(currentLine)
	if len(currentLine) < width {
		currentScroll = 0
	} else {
		currentScroll = len(currentLine) - width
	}
	display.ShowLine(visibleLine())
	updateCursor()
}
예제 #4
0
파일: input.go 프로젝트: Charlesetc/pat
func CursorRight() {
	width := display.LineWidth()
	if cursor < len(currentLine) {
		cursor++
	}
	if cursor > width+currentScroll {
		// LogS(fmt.Sprintf("-- %d", cursor))
		currentScroll++
		display.ShowLine(visibleLine())
	}
	updateCursor()
}
예제 #5
0
파일: input.go 프로젝트: Charlesetc/pat
func Draw() {
	display.ShowLine(visibleLine())
	display.SetCursor(cursor - currentScroll)
	display.DrawLine()
	display.Flush()
}
예제 #6
0
파일: input.go 프로젝트: Charlesetc/pat
func CursorAtBeginning() {
	cursor = 0
	currentScroll = 0
	display.ShowLine(visibleLine())
	updateCursor()
}