Fix scroll bug (#13)

This commit is contained in:
Dave Gallant
2020-07-04 01:05:23 -04:00
committed by GitHub
parent afbfa53ae6
commit 820255a18d
2 changed files with 2 additions and 22 deletions

View File

@@ -1,30 +1,16 @@
package cui
import (
"strings"
"github.com/jroimartin/gocui"
)
func scroll(g *gocui.Gui, v *gocui.View, direction int) error {
if v != nil {
_, y := v.Size()
ox, oy := v.Origin()
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy-1); err != nil && oy > 0 {
if err := v.SetOrigin(ox, oy-1); err != nil {
return err
}
}
// If we're nearing a boundary
if oy+direction > strings.Count(v.ViewBuffer(), "\n")+y-direction {
v.Autoscroll = true
} else {
v.Autoscroll = false
v.SetOrigin(ox, oy+direction)
if oy+direction >= len(v.BufferLines())-1 {
return nil
}
v.SetOrigin(ox, oy+direction)
}
return nil
}