aboutsummaryrefslogtreecommitdiffstats
path: root/src/display.c
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-05-02 19:52:21 -0400
committerJesse Luehrs <doy@tozt.net>2014-05-02 19:55:58 -0400
commit612403d9ff2e3e6c478a0b45f59847c19f0e00d2 (patch)
tree0a6babf1c572ffcda4ad4ffe79576d2f0d4faba7 /src/display.c
parent250cc3d1e571cbb71119f8c2193f23be444b0c71 (diff)
downloadrunes-612403d9ff2e3e6c478a0b45f59847c19f0e00d2.tar.gz
runes-612403d9ff2e3e6c478a0b45f59847c19f0e00d2.zip
avoid redrawing when we haven't touched the screen
Diffstat (limited to 'src/display.c')
-rw-r--r--src/display.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/display.c b/src/display.c
index a8c24bf..cc56202 100644
--- a/src/display.c
+++ b/src/display.c
@@ -86,6 +86,10 @@ void runes_display_draw_screen(RunesTerm *t)
{
int r;
+ if (!t->scr.dirty) {
+ return;
+ }
+
/* XXX quite inefficient */
for (r = 0; r < t->scr.max.row; ++r) {
int c = 0;
@@ -95,6 +99,8 @@ void runes_display_draw_screen(RunesTerm *t)
}
}
runes_window_backend_request_flush(t);
+
+ t->scr.dirty = 0;
}
void runes_display_draw_cursor(RunesTerm *t, cairo_t *cr)