1 /*  RetroArch - A frontend for libretro.
2  *  Copyright (C) 2010-2014 - Hans-Kristian Arntzen
3  *  Copyright (C) 2011-2017 - Daniel De Matteis
4  *  Copyright (C) 2016-2019 - Brad Parker
5  *
6  *  RetroArch is free software: you can redistribute it and/or modify it under the terms
7  *  of the GNU General Public License as published by the Free Software Found-
8  *  ation, either version 3 of the License, or (at your option) any later version.
9  *
10  *  RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  *  PURPOSE.  See the GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License along with RetroArch.
15  *  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef _MENU_DIALOG_H
19 #define _MENU_DIALOG_H
20 
21 #include <stdint.h>
22 #include <stdlib.h>
23 
24 #include <boolean.h>
25 
26 #include <retro_common_api.h>
27 
28 #include "../msg_hash.h"
29 
30 enum menu_dialog_type
31 {
32    MENU_DIALOG_NONE = 0,
33    MENU_DIALOG_WELCOME,
34    MENU_DIALOG_HELP_EXTRACT,
35    MENU_DIALOG_HELP_CONTROLS,
36    MENU_DIALOG_HELP_CHEEVOS_DESCRIPTION,
37    MENU_DIALOG_HELP_LOADING_CONTENT,
38    MENU_DIALOG_HELP_WHAT_IS_A_CORE,
39    MENU_DIALOG_HELP_CHANGE_VIRTUAL_GAMEPAD,
40    MENU_DIALOG_HELP_AUDIO_VIDEO_TROUBLESHOOTING,
41    MENU_DIALOG_HELP_SEND_DEBUG_INFO,
42    MENU_DIALOG_HELP_SCANNING_CONTENT,
43    MENU_DIALOG_QUIT_CONFIRM,
44    MENU_DIALOG_INFORMATION,
45    MENU_DIALOG_QUESTION,
46    MENU_DIALOG_WARNING,
47    MENU_DIALOG_ERROR,
48    MENU_DIALOG_LAST
49 };
50 
51 struct menu_dialog
52 {
53    unsigned              current_id;
54    enum menu_dialog_type current_type;
55    bool                  pending_push;
56 };
57 
58 typedef struct menu_dialog menu_dialog_t;
59 
60 RETRO_BEGIN_DECLS
61 
62 void menu_dialog_push_pending(enum menu_dialog_type type);
63 
64 void menu_dialog_unset_pending_push(void);
65 
66 void menu_dialog_set_current_id(unsigned id);
67 
68 RETRO_END_DECLS
69 
70 #endif
71