Fix endRow calculation

This commit is contained in:
Nathan Sobo
2015-01-19 16:28:50 -07:00
parent 9a070e7f6d
commit e2693da225
2 changed files with 3 additions and 4 deletions

View File

@@ -168,7 +168,7 @@ describe "TextEditorPresenter", ->
describe "when ::clientHeight changes", ->
it "updates the lines that are visible on screen", ->
presenter = new TextEditorPresenter(model: editor, clientHeight: 25, scrollTop: 15, lineHeight: 10, lineOverdrawMargin: 1)
presenter = new TextEditorPresenter(model: editor, clientHeight: 15, scrollTop: 15, lineHeight: 10, lineOverdrawMargin: 1)
line5 = editor.tokenizedLineForScreenRow(5)
expect(presenter.state.lines[line5.id]).toBeUndefined()

View File

@@ -58,10 +58,9 @@ class TextEditorPresenter
Math.max(0, startRow)
getEndRow: ->
startRow = @getStartRow()
startRow = Math.floor(@getScrollTop() / @getLineHeight())
visibleLinesCount = Math.ceil(@getClientHeight() / @getLineHeight()) + 1
overdrawMargin = @lineOverdrawMargin + Math.min(@lineOverdrawMargin, startRow)
endRow = startRow + visibleLinesCount + overdrawMargin
endRow = startRow + visibleLinesCount + @lineOverdrawMargin
Math.min(@model.getScreenLineCount(), endRow)
getScrollWidth: ->