render method
Uses the given renderer
to redraw every character in the terminal that
has changed since the last render call
Implementation
void render(Renderer renderer) {
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
var char = _changedState.get(x, y);
if (char == null) continue;
renderer.renderChar(x, y, char);
// up to date now
_state.set(x, y, char);
_changedState.set(x, y, null);
}
}
}