]> git.mdlowis.com Git - archive/afm.git/commitdiff
fix aardvark mode
authora bellenir <a@bellenir.com>
Sun, 3 Aug 2014 06:27:41 +0000 (06:27 +0000)
committera bellenir <a@bellenir.com>
Sun, 3 Aug 2014 06:27:41 +0000 (06:27 +0000)
source/input.c
source/screen.c
source/state.c

index aab3cd04bf6ba48d2e094ad13cdad14e5593b90e..610be873252a001a62ebd3c0aff49b5dad07b7a9 100644 (file)
@@ -17,8 +17,13 @@ typedef struct {
 } 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) {
index ec71e6965274e742365868c3c5130a7aa0781d26..fc5915cf660e85ac40ad5fc495b06f6376c27594 100644 (file)
@@ -52,14 +52,14 @@ void screen_deinit(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);
 }
index 387ac44e39c0a3418074224e89adb0be694b3ede..efee0f9ef464d7f916f2d69b34b8b0a752f411f4 100644 (file)
@@ -64,8 +64,7 @@ RefreshState_T state_get_refresh_state(void)
 
 void state_set_refresh_state(RefreshState_T state)
 {
-    if ((state == REFRESH_COMPLETE) || (RefreshState < state))
-    {
+    if ((state == REFRESH_COMPLETE) || (RefreshState < state)) {
         RefreshState = state;
     }
 }