#ifndef _TEST_APP_MENU_H_ #define _TEST_APP_MENU_H_ /* Don't #include "test_app.h" here, do it in test_app_menu.c, to avoid a circular dependency between test_app.h and this file. */ struct test_app; enum test_app_menu_screen { TEST_APP_MENU_SCREEN_TITLE, TEST_APP_MENU_SCREEN_START_GAME, TEST_APP_MENU_SCREEN_DELETE_GAME, TEST_APP_MENU_SCREEN_PAUSED, TEST_APP_MENU_SCREENS }; typedef struct test_app_menu { int screen_i; /* test_app_menu_screen_t */ int option_i; const char *message; /* Weakrefs: */ struct test_app *app; } test_app_menu_t; void test_app_menu_cleanup(test_app_menu_t *menu); void test_app_menu_init(test_app_menu_t *menu, struct test_app *app); void test_app_menu_set_screen(test_app_menu_t *menu, int screen_i); void test_app_menu_up(test_app_menu_t *menu); void test_app_menu_down(test_app_menu_t *menu); void test_app_menu_left(test_app_menu_t *menu); void test_app_menu_right(test_app_menu_t *menu); void test_app_menu_back(test_app_menu_t *menu); int test_app_menu_select(test_app_menu_t *menu); void test_app_menu_render(test_app_menu_t *menu); bool test_app_menu_pauses_game(test_app_menu_t *menu); #endif