Untested.
In the end we have a Draw rectangle which takes the rectangle current string and draws it treating the newline character properly. The second is put string which puts a line t the next y position in the rectangles, xchars maintains a y cursor.
Redraw the entire window is gong through the rectangle list and calling redraw where needed. This is all done, not tested. Code got removed from flush, now it calls redraw whenever i gets flushed, not two steps. But it has to keep est in a contiguous buffer for redraw which does cannot fold an index.
Interactions are kept to a minimum, data handled a few times as possible. The one inefficiency is flush shuffling the scroll buffer, but I don;t care, I start putting pages of text up tomorrow and resolve the inefficiency later.
No comments:
Post a Comment