Browse Source

Merge pull request #7 from tsoding/6

(#6) Introduce -p flag that starts sowon in the paused state
Alexey Kutepov 5 years ago
parent
commit
fa2b80a63f
2 changed files with 16 additions and 4 deletions
  1. 4 0
      README.md
  2. 12 4
      main.c

+ 4 - 0
README.md

@@ -18,6 +18,10 @@ $ make
 - Descending mode: `./sowon <seconds>`
 - Clock Mode: `./sowon clock`
 
+### Flags
+
+- Start in paused state: `./sowon -p <mode>`
+
 ### Key bindings
 
 | Key | Description |

+ 12 - 4
main.c

@@ -130,13 +130,16 @@ int main(int argc, char **argv)
 {
     Mode mode = MODE_ASCENDING;
     float displayed_time = 0.0f;
+    int paused = 0;
 
-    if (argc > 1) {
-        if (strcmp(argv[1], "clock") == 0) {
+    for (int i = 1; i < argc; ++i) {
+        if (strcmp(argv[i], "-p") == 0) {
+            paused = 1;
+        } else if (strcmp(argv[i], "clock") == 0) {
             mode = MODE_CLOCK;
         } else {
             mode = MODE_COUNTDOWN;
-            displayed_time = strtof(argv[1], NULL);
+            displayed_time = strtof(argv[i], NULL);
         }
     }
 
@@ -158,10 +161,15 @@ int main(int argc, char **argv)
     SDL_Texture *digits = load_png_file_as_texture(renderer, "./digits.png");
     secc(SDL_SetTextureColorMod(digits, MAIN_COLOR_R, MAIN_COLOR_G, MAIN_COLOR_B));
 
+    if (paused) {
+        secc(SDL_SetTextureColorMod(digits, PAUSE_COLOR_R, PAUSE_COLOR_G, PAUSE_COLOR_B));
+    } else {
+        secc(SDL_SetTextureColorMod(digits, MAIN_COLOR_R, MAIN_COLOR_G, MAIN_COLOR_B));
+    }
+
     int quit = 0;
     size_t wiggle_index = 0;
     float wiggle_cooldown = WIGGLE_DURATION;
-    int paused = 0;
     float user_scale = 1.0f;
     while (!quit) {
         // INPUT BEGIN //////////////////////////////