RetroArch
menu_displaylist.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2011-2017 - Daniel De Matteis
3  *
4  * RetroArch is free software: you can redistribute it and/or modify it under the terms
5  * of the GNU General Public License as published by the Free Software Found-
6  * ation, either version 3 of the License, or (at your option) any later version.
7  *
8  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
9  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
10  * PURPOSE. See the GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License along with RetroArch.
13  * If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #ifndef _MENU_DISPLAYLIST_H
17 #define _MENU_DISPLAYLIST_H
18 
19 #include <stdint.h>
20 
21 #include <boolean.h>
22 #include <retro_miscellaneous.h>
23 #include <retro_common_api.h>
24 #include <lists/file_list.h>
25 
26 #include "../setting_list.h"
27 
28 #ifndef COLLECTION_SIZE
29 #define COLLECTION_SIZE 99999
30 #endif
31 
33 
35 {
36  PARSE_NONE = (1 << 0),
37  PARSE_GROUP = (1 << 1),
38  PARSE_ACTION = (1 << 2),
39  PARSE_ONLY_INT = (1 << 3),
40  PARSE_ONLY_UINT = (1 << 4),
41  PARSE_ONLY_BOOL = (1 << 5),
42  PARSE_ONLY_FLOAT = (1 << 6),
43  PARSE_ONLY_BIND = (1 << 7),
44  PARSE_ONLY_GROUP = (1 << 8),
45  PARSE_ONLY_STRING = (1 << 9),
46  PARSE_ONLY_PATH = (1 << 10),
48  PARSE_ONLY_HEX = (1 << 12),
49  PARSE_ONLY_DIR = (1 << 13),
50  PARSE_SUB_GROUP = (1 << 14),
51  PARSE_ONLY_SIZE = (1 << 15)
52 };
53 
55 {
184 #ifdef HAVE_LAKKA_SWITCH
185  DISPLAYLIST_SWITCH_GPU_PROFILE,
186  DISPLAYLIST_SWITCH_BACKLIGHT_CONTROL,
187 #endif
188 #if defined(HAVE_LAKKA_SWITCH) || defined(HAVE_LIBNX)
189  DISPLAYLIST_SWITCH_CPU_PROFILE,
190 #endif
192 };
193 
194 typedef struct menu_displaylist_info
195 {
197  /* should the displaylist be sorted by alphabet? */
198  bool need_sort;
201  bool need_push;
203  /* should we clear the displaylist before we push
204  * entries onto it? */
207  /* Should a 'download core' entry be pushed onto the list?
208  * This will be set to true in case there are no currently
209  * installed cores. */
211  /* does the navigation index need to be cleared to 0 (first entry) ? */
213 
214  unsigned count;
215 
216  char *path;
217  char *path_b;
218  char *path_c;
219  char *exts;
220  char *label;
221  unsigned type;
222  unsigned type_default;
223  unsigned flags;
229 
231 {
235  const char *info_label;
236  void *data;
239 
241 {
245 
247 
249 
251 
253 
255 
257 
258 #ifdef HAVE_NETWORKING
259 void netplay_refresh_rooms_menu(file_list_t *list);
260 #endif
261 
263 
264 #endif
Definition: menu_displaylist.h:62
Definition: menu_displaylist.h:41
Definition: menu_displaylist.h:128
Definition: menu_displaylist.h:69
Definition: menu_displaylist.h:157
Definition: menu_displaylist.h:164
Definition: menu_displaylist.h:109
Definition: menu_displaylist.h:59
unsigned count
Definition: menu_displaylist.h:214
struct menu_displaylist_info menu_displaylist_info_t
bool push_builtin_cores
Definition: menu_displaylist.h:206
Definition: menu_displaylist.h:129
Definition: menu_displaylist.h:169
Definition: menu_displaylist.h:57
Definition: menu_displaylist.h:67
Definition: menu_displaylist.h:159
Definition: menu_displaylist.h:76
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
bool menu_displaylist_setting(menu_displaylist_ctx_parse_entry_t *entry)
Definition: menu_displaylist.c:4311
Definition: menu_displaylist.h:77
file_list_t * list
Definition: menu_displaylist.h:225
bool menu_displaylist_process(menu_displaylist_info_t *info)
Definition: menu_displaylist.c:4158
Definition: menu_displaylist.h:71
Definition: menu_displaylist.h:132
Definition: menu_displaylist.h:125
Definition: menu_displaylist.h:85
Definition: menu_displaylist.h:95
Definition: libretro.h:2275
Definition: menu_displaylist.h:142
Definition: menu_displaylist.h:84
Definition: menu_displaylist.h:99
Definition: menu_displaylist.h:93
Definition: menu_displaylist.h:177
Definition: menu_displaylist.h:165
enum msg_hash_enums enum_idx
Definition: menu_displaylist.h:232
Definition: menu_displaylist.h:98
Definition: menu_displaylist.h:39
Definition: menu_displaylist.h:44
Definition: menu_displaylist.h:153
Definition: menu_displaylist.h:154
Definition: menu_displaylist.h:145
Definition: menu_displaylist.h:194
Definition: menu_displaylist.h:103
Definition: setting_list.h:92
Definition: menu_displaylist.h:47
bool need_refresh
Definition: menu_displaylist.h:199
Definition: menu_displaylist.h:161
void * data
Definition: menu_displaylist.h:236
Definition: menu_displaylist.h:100
Definition: menu_displaylist.h:166
file_list_t * menu_list
Definition: menu_displaylist.h:226
Definition: menu_displaylist.h:56
Definition: menu_displaylist.h:61
Definition: menu_displaylist.h:120
Definition: menu_displaylist.h:181
struct menu_displaylist_ctx_parse_entry menu_displaylist_ctx_parse_entry_t
Definition: menu_displaylist.h:176
Definition: menu_displaylist.h:36
enum msg_hash_enums enum_idx
Definition: menu_displaylist.h:196
Definition: menu_displaylist.h:167
Definition: menu_displaylist.h:178
Definition: menu_displaylist.h:141
bool menu_displaylist_push(menu_displaylist_ctx_entry_t *entry)
Definition: menu_displaylist.c:4042
Definition: menu_displaylist.h:121
Definition: menu_displaylist.h:118
Definition: menu_displaylist.h:102
Definition: menu_displaylist.h:155
Definition: menu_displaylist.h:80
Definition: menu_displaylist.h:240
file_list_t * list
Definition: menu_displaylist.h:243
enum menu_displaylist_parse_type parse_type
Definition: menu_displaylist.h:233
menu_displaylist_ctl_state
Definition: menu_displaylist.h:54
Definition: menu_displaylist.h:70
Definition: menu_displaylist.h:45
Definition: menu_displaylist.h:63
GLenum type
Definition: glext.h:6233
unsigned flags
Definition: menu_displaylist.h:223
file_list_t * stack
Definition: menu_displaylist.h:242
Definition: menu_displaylist.h:172
char * label
Definition: menu_displaylist.h:220
bool need_navigation_clear
Definition: menu_displaylist.h:212
Definition: menu_displaylist.h:113
Definition: menu_displaylist.h:127
Definition: menu_displaylist.h:91
Definition: menu_displaylist.h:163
Definition: menu_displaylist.h:136
Definition: menu_displaylist.h:168
Definition: menu_displaylist.h:37
Definition: menu_displaylist.h:171
Definition: menu_displaylist.h:60
Definition: menu_displaylist.h:97
Definition: menu_displaylist.h:106
Definition: menu_displaylist.h:46
Definition: menu_displaylist.h:114
void menu_displaylist_info_free(menu_displaylist_info_t *info)
Definition: menu_displaylist.c:4261
Definition: menu_displaylist.h:126
Definition: menu_displaylist.h:86
bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info)
Definition: menu_displaylist.c:4322
menu_displaylist_info_t * info
Definition: menu_displaylist.h:237
Definition: menu_displaylist.h:42
Definition: menu_displaylist.h:134
Definition: menu_displaylist.h:64
Definition: menu_displaylist.h:230
Definition: menu_displaylist.h:87
Definition: menu_displaylist.h:116
Definition: menu_displaylist.h:94
Definition: menu_displaylist.h:108
rarch_setting_t * setting
Definition: menu_displaylist.h:227
Definition: menu_displaylist.h:115
Definition: menu_displaylist.h:162
Definition: menu_displaylist.h:122
Definition: menu_displaylist.h:131
Definition: menu_displaylist.h:191
Definition: menu_displaylist.h:66
Definition: menu_displaylist.h:50
menu_displaylist_parse_type
Definition: menu_displaylist.h:34
Definition: menu_displaylist.h:48
Definition: menu_displaylist.h:90
char * path_b
Definition: menu_displaylist.h:217
bool download_core
Definition: menu_displaylist.h:210
Definition: menu_displaylist.h:104
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
Definition: file_list.h:47
Definition: menu_displaylist.h:83
Definition: menu_displaylist.h:151
Definition: menu_displaylist.h:51
bool need_push_no_playlist_entries
Definition: menu_displaylist.h:202
Definition: menu_displaylist.h:119
Definition: menu_displaylist.h:38
Definition: menu_displaylist.h:156
Definition: menu_displaylist.h:65
Definition: menu_displaylist.h:147
Definition: menu_displaylist.h:149
const char * info_label
Definition: menu_displaylist.h:235
Definition: menu_displaylist.h:183
Definition: menu_displaylist.h:79
msg_hash_enums
Definition: msg_hash.h:152
bool need_push
Definition: menu_displaylist.h:201
bool need_clear
Definition: menu_displaylist.h:205
Definition: menu_displaylist.h:130
Definition: menu_displaylist.h:138
Definition: menu_displaylist.h:117
char * path_c
Definition: menu_displaylist.h:218
size_t directory_ptr
Definition: menu_displaylist.h:224
Definition: menu_displaylist.h:158
Definition: menu_displaylist.h:81
Definition: menu_displaylist.h:92
unsigned type
Definition: menu_displaylist.h:221
Definition: menu_displaylist.h:75
Definition: menu_displaylist.h:82
Definition: menu_displaylist.h:73
Definition: menu_displaylist.h:88
Definition: menu_displaylist.h:143
Definition: menu_displaylist.h:112
Definition: menu_displaylist.h:135
Definition: menu_displaylist.h:146
Definition: menu_displaylist.h:175
Definition: menu_displaylist.h:68
Definition: menu_displaylist.h:170
char * exts
Definition: menu_displaylist.h:219
Definition: menu_displaylist.h:133
unsigned type_default
Definition: menu_displaylist.h:222
bool need_entries_refresh
Definition: menu_displaylist.h:200
Definition: menu_displaylist.h:174
struct menu_displaylist_ctx_entry menu_displaylist_ctx_entry_t
Definition: menu_displaylist.h:58
char * path
Definition: menu_displaylist.h:216
bool add_empty_entry
Definition: menu_displaylist.h:234
Definition: menu_displaylist.h:74
Definition: menu_displaylist.h:144
Definition: menu_displaylist.h:111
Definition: menu_displaylist.h:180
Definition: menu_displaylist.h:105
bool need_sort
Definition: menu_displaylist.h:198
Definition: menu_displaylist.h:179
Definition: menu_displaylist.h:152
Definition: menu_displaylist.h:43
Definition: menu_displaylist.h:137
void menu_displaylist_info_init(menu_displaylist_info_t *info)
Definition: menu_displaylist.c:4282
Definition: menu_displaylist.h:124
Definition: menu_displaylist.h:72
Definition: menu_displaylist.h:140
Definition: menu_displaylist.h:123
Definition: menu_displaylist.h:182
Definition: menu_displaylist.h:148
Definition: menu_displaylist.h:150
Definition: menu_displaylist.h:40
Definition: menu_displaylist.h:139
Definition: menu_displaylist.h:49
Definition: menu_displaylist.h:107
Definition: menu_displaylist.h:101
Definition: menu_displaylist.h:160
Definition: menu_displaylist.h:110
Definition: menu_displaylist.h:96
Definition: menu_displaylist.h:173
Definition: menu_displaylist.h:78
Definition: menu_displaylist.h:89