Simplify dirty line tracking

openid
Marcin Kulik 13 years ago
parent 0be891e7ea
commit 330df852b4

@ -8,7 +8,7 @@ class AsciiIo.Terminal
@normalBuffer = []
@alternateBuffer = []
@lineData = @normalBuffer
@dirtyLines = []
@dirtyLines = {}
@fg = @bg = undefined
@underline = false
@ -65,29 +65,17 @@ class AsciiIo.Terminal
@element.find(".line:eq(" + n + ")").html html.join("")
render: ->
updated = []
for _, n of @dirtyLines
@renderLine n
i = 0
while i < @dirtyLines.length
n = @dirtyLines[i]
if updated.indexOf(n) is -1
@renderLine n
updated.push n
i++
@dirtyLines = []
@dirtyLines = {}
updateLine: (n) ->
n = (if typeof n isnt "undefined" then n else @cursorY)
@dirtyLines.push n
@dirtyLines[n] = n
updateScreen: ->
@dirtyLines = []
l = 0
while l < @lines
@dirtyLines.push l
l++
@dirtyLines[n] = n for n in [0...@lines]
showCursor: (show) ->
if show

Loading…
Cancel
Save