- struct WinMeta win_meta = init_win_meta(screen);
- struct Win win_keys = init_win(&win_meta, "Keys", &world, draw_keys_win);
- struct Win win_map = init_win(&win_meta, "Map", &world, draw_map_win);
- struct Win win_info = init_win(&win_meta, "Info", &world, draw_info_win);
- struct Win win_log = init_win(&win_meta, "Log", &world, draw_log_win);
- win_keys.frame.size.x = 29;
- win_map.frame.size.x = win_meta.pad.size.x - win_keys.frame.size.x
- - win_log.frame.size.x - 2;
- win_info.frame.size.y = 2;
- win_log.frame.size.y = win_meta.pad.size.y - (2 + win_info.frame.size.y);
- toggle_window(&win_meta, &win_keys);
- toggle_window(&win_meta, &win_map);
- toggle_window(&win_meta, &win_info);
- toggle_window(&win_meta, &win_log);
+ set_cleanup_flag(CLEANUP_KEYBINDINGS);
+ struct WinMeta win_meta;
+ char * err_winmem = "Trouble with init_win:meta() or draw_all_wins() in "
+ "main().";
+ exit_err(init_win_meta(screen, &win_meta), &world, err_winmem);
+ world.wins.meta = &win_meta;
+ struct Win win_keys = init_win(&win_meta, "Keys",
+ 0, 29, &world, draw_keys_win);
+ world.wins.keys = &win_keys;
+ struct Win win_info = init_win(&win_meta, "Info",
+ 3, 20, &world, draw_info_win);
+ world.wins.info = &win_info;
+ uint16_t height_logwin = win_meta.padframe.size.y
+ - (2 + win_info.frame.size.y);
+ struct Win win_log = init_win(&win_meta, "Log",
+ height_logwin, 20, &world, draw_log_win);
+ world.wins.log = &win_log;
+ uint16_t width_mapwin = win_meta.padframe.size.x - win_keys.frame.size.x
+ - win_log.frame.size.x - 2;
+ struct Win win_map = init_win(&win_meta, "Map",
+ 0, width_mapwin, &world, draw_map_win);
+ world.wins.map = &win_map;
+ toggle_window(&win_meta, world.wins.keys);
+ toggle_window(&win_meta, world.wins.map);
+ toggle_window(&win_meta, world.wins.info);
+ toggle_window(&win_meta, world.wins.log);