mirror of
https://github.com/atom/atom.git
synced 2026-01-24 22:38:20 -05:00
Emit row-oriented screen lien change events from EditSession
This commit is contained in:
@@ -61,7 +61,16 @@ class EditSession
|
||||
|
||||
@displayBuffer.on "change.edit-session-#{@id}", (e) =>
|
||||
@refreshAnchorScreenPositions() unless e.bufferChange
|
||||
@trigger 'screen-lines-change', e
|
||||
|
||||
{ oldRange, newRange } = e
|
||||
start = oldRange.start.row
|
||||
end = oldRange.end.row
|
||||
screenDelta = newRange.end.row - oldRange.end.row
|
||||
|
||||
if bufferChange = e.bufferChange
|
||||
bufferDelta = bufferChange.newRange.end.row - bufferChange.oldRange.end.row
|
||||
|
||||
@trigger 'screen-lines-change', {start, end, screenDelta, bufferDelta}
|
||||
|
||||
destroy: ->
|
||||
throw new Error("Edit session already destroyed") if @destroyed
|
||||
|
||||
@@ -896,16 +896,8 @@ class Editor extends View
|
||||
getLastVisibleScreenRow: ->
|
||||
Math.max(0, Math.ceil((@scrollTop() + @scrollView.height()) / @lineHeight) - 1)
|
||||
|
||||
handleScreenLinesChange: (e) ->
|
||||
{ oldRange, newRange } = e
|
||||
start = oldRange.start.row
|
||||
end = oldRange.end.row
|
||||
screenDelta = newRange.end.row - oldRange.end.row
|
||||
|
||||
if bufferChange = e.bufferChange
|
||||
bufferDelta = bufferChange.newRange.end.row - bufferChange.oldRange.end.row
|
||||
|
||||
@pendingChanges.push({start, end, screenDelta, bufferDelta})
|
||||
handleScreenLinesChange: (change) ->
|
||||
@pendingChanges.push(change)
|
||||
@requestDisplayUpdate()
|
||||
|
||||
buildLineElementForScreenRow: (screenRow) ->
|
||||
|
||||
Reference in New Issue
Block a user