} binding_t;
static void handle_aardvark(void) {
- state_set_aardvark_mode(!state_get_aardvark_mode());
- state_set_refresh_state(REFRESH_AARDVARK);
+ if(state_get_aardvark_mode()){
+ state_set_aardvark_mode(false);
+ state_set_refresh_state(REFRESH_ALL_WINS);
+ }else{
+ state_set_aardvark_mode(true);
+ state_set_refresh_state(REFRESH_AARDVARK);
+ }
}
static void handle_quit(void) {
void screen_update(void) {
/* Clear screen and update LINES and COLS */
- if(state_get_refresh_state() == REFRESH_AARDVARK && state_get_aardvark_mode()){
- aardvark_draw();
- } else if(state_get_refresh_state() == REFRESH_CURR_WIN){
+ if(state_get_refresh_state() == REFRESH_CURR_WIN){
screen_refresh_curr_frame();
- } else {
+ } else if (state_get_refresh_state() == REFRESH_ALL_WINS) {
endwin();
screen_place_windows();
}
+ if(state_get_aardvark_mode() && state_get_refresh_state() != REFRESH_COMPLETE)
+ aardvark_draw();
/* Refresh and mark complete */
state_set_refresh_state(REFRESH_COMPLETE);
}
void state_set_refresh_state(RefreshState_T state)
{
- if ((state == REFRESH_COMPLETE) || (RefreshState < state))
- {
+ if ((state == REFRESH_COMPLETE) || (RefreshState < state)) {
RefreshState = state;
}
}