diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -147,7 +147,6 @@ int main(int argc, char **argv) { draw_map(map, width, height, start_pos, end_pos, NULL, path, visited, NULL); int c = getch(); /* TODO: add a keybinding to calculate the path again, or maybe do it on 'a' */ - /* TODO: maybe a kbng to move to start/end? */ switch (c) { case 'h': map_offset_x += 2; break; case 'l': map_offset_x -= 2; break; @@ -206,15 +205,18 @@ int main(int argc, char **argv) { break; case 's': - message(height, "Filename: "); - /* TODO: figure out how to show the cursor and echo the characters */ - curs_set(2); /* Hide the cursor */ - echo(); /* Don't echo characters */ + curs_set(2); /* Show the cursor */ + echo(); /* Echo characters */ + + message(height, FILENAME_PROMPT); char filename[FILENAME_BUF_SIZE] = "out.bmp"; + mvgetnstr(height + map_offset_y + 1, map_offset_x - 2 + sizeof(FILENAME_PROMPT), filename, FILENAME_BUF_SIZE - 1); + + map_to_bmp(map, width, height, start_pos, end_pos, path, visited, filename); + curs_set(0); /* Hide the cursor */ noecho(); /* Don't echo characters */ - mvgetnstr(height + map_offset_y + 1, map_offset_x - 2, filename, FILENAME_BUF_SIZE - 1); - map_to_bmp(map, width, height, start_pos, end_pos, path, visited, filename); + message(height, "Saved to %s", filename); getch(); break; |
