From a04eff8f81286c75f10c086be7d90f483b3e9287 Mon Sep 17 00:00:00 2001 From: a bellenir Date: Wed, 30 Jul 2014 05:32:05 +0000 Subject: [PATCH] fix aard-ifacts --- source/input.c | 2 +- source/main.c | 2 +- source/screen.c | 3 ++- source/state.h | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source/input.c b/source/input.c index ae4b12d..aab3cd0 100644 --- a/source/input.c +++ b/source/input.c @@ -18,7 +18,7 @@ typedef struct { static void handle_aardvark(void) { state_set_aardvark_mode(!state_get_aardvark_mode()); - state_set_refresh_state(REFRESH_ALL_WINS); + state_set_refresh_state(REFRESH_AARDVARK); } static void handle_quit(void) { diff --git a/source/main.c b/source/main.c index e3429a1..c037385 100644 --- a/source/main.c +++ b/source/main.c @@ -11,7 +11,7 @@ void handle_signal(int sig) { void handle_alarm(int sig) { (void) sig; - state_set_refresh_state(REFRESH_CURR_WIN); + state_set_refresh_state(REFRESH_AARDVARK); alarm(1); } diff --git a/source/screen.c b/source/screen.c index 0417222..ca09c9f 100644 --- a/source/screen.c +++ b/source/screen.c @@ -63,10 +63,11 @@ void screen_update(void) { if(state_get_refresh_state() == REFRESH_ALL_WINS){ endwin(); screen_place_windows(); + } else if (state_get_refresh_state() == REFRESH_AARDVARK && state_get_aardvark_mode()){ + aardvark_draw(); } else { screen_refresh_curr_frame(); } - if(state_get_aardvark_mode()) aardvark_draw(); /* Refresh and mark complete */ state_set_refresh_state(REFRESH_COMPLETE); } diff --git a/source/state.h b/source/state.h index 97781ab..81e2106 100644 --- a/source/state.h +++ b/source/state.h @@ -30,6 +30,7 @@ typedef enum { REFRESH_COMPLETE, REFRESH_CURR_WIN, REFRESH_ALL_WINS, + REFRESH_AARDVARK, } RefreshState_T; RefreshState_T state_get_refresh_state(void); -- 2.52.0