(s SLoc, n int)
| 246 | } |
| 247 | |
| 248 | func (w *BufWindow) scrollDown(s SLoc, n int) SLoc { |
| 249 | for n > 0 { |
| 250 | rc := w.getRowCount(s.Line) |
| 251 | if n < rc-s.Row { |
| 252 | s.Row += n |
| 253 | n = 0 |
| 254 | } else if s.Line < w.Buf.LinesNum()-1 { |
| 255 | s.Line++ |
| 256 | n -= rc - s.Row |
| 257 | s.Row = 0 |
| 258 | } else { |
| 259 | s.Row = rc - 1 |
| 260 | break |
| 261 | } |
| 262 | } |
| 263 | return s |
| 264 | } |
| 265 | |
| 266 | func (w *BufWindow) scroll(s SLoc, n int) SLoc { |
| 267 | if n < 0 { |
no test coverage detected