1 /*  RetroArch - A frontend for libretro.
2  *  Copyright (C) 2010-2014 - Hans-Kristian Arntzen
3  *  Copyright (C) 2011-2017 - Daniel De Matteis
4  *
5  *  RetroArch is free software: you can redistribute it and/or modify it under the terms
6  *  of the GNU General Public License as published by the Free Software Found-
7  *  ation, either version 3 of the License, or (at your option) any later version.
8  *
9  *  RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  *  PURPOSE.  See the GNU General Public License for more details.
12  *
13  *  You should have received a copy of the GNU General Public License along with RetroArch.
14  *  If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef __MENU_DEFINES__H
18 #define __MENU_DEFINES__H
19 
20 #include <retro_common_api.h>
21 
22 #include "../audio/audio_defines.h"
23 
24 RETRO_BEGIN_DECLS
25 
26 #define MENU_SETTINGS_AUDIO_MIXER_MAX_STREAMS        (AUDIO_MIXER_MAX_SYSTEM_STREAMS-1)
27 
28 enum menu_image_type
29 {
30    MENU_IMAGE_NONE = 0,
31    MENU_IMAGE_WALLPAPER,
32    MENU_IMAGE_THUMBNAIL,
33    MENU_IMAGE_LEFT_THUMBNAIL,
34    MENU_IMAGE_SAVESTATE_THUMBNAIL
35 };
36 
37 enum menu_environ_cb
38 {
39    MENU_ENVIRON_NONE = 0,
40    MENU_ENVIRON_RESET_HORIZONTAL_LIST,
41    MENU_ENVIRON_ENABLE_MOUSE_CURSOR,
42    MENU_ENVIRON_DISABLE_MOUSE_CURSOR,
43    MENU_ENVIRON_ENABLE_SCREENSAVER,
44    MENU_ENVIRON_DISABLE_SCREENSAVER,
45    MENU_ENVIRON_LAST
46 };
47 
48 enum menu_state_changes
49 {
50    MENU_STATE_RENDER_FRAMEBUFFER = 0,
51    MENU_STATE_RENDER_MESSAGEBOX,
52    MENU_STATE_BLIT,
53    MENU_STATE_POP_STACK,
54    MENU_STATE_POST_ITERATE
55 };
56 
57 enum rarch_menu_ctl_state
58 {
59    RARCH_MENU_CTL_NONE = 0,
60    RARCH_MENU_CTL_SET_PENDING_QUICK_MENU,
61    RARCH_MENU_CTL_DEINIT,
62    RARCH_MENU_CTL_SET_PREVENT_POPULATE,
63    RARCH_MENU_CTL_UNSET_PREVENT_POPULATE,
64    RARCH_MENU_CTL_IS_PREVENT_POPULATE,
65    RARCH_MENU_CTL_ENVIRONMENT,
66    RARCH_MENU_CTL_POINTER_DOWN,
67    RARCH_MENU_CTL_POINTER_UP,
68    RARCH_MENU_CTL_OSK_PTR_AT_POS,
69    RARCH_MENU_CTL_BIND_INIT,
70    RARCH_MENU_CTL_UPDATE_THUMBNAIL_PATH,
71    RARCH_MENU_CTL_UPDATE_THUMBNAIL_IMAGE,
72    RARCH_MENU_CTL_REFRESH_THUMBNAIL_IMAGE,
73    RARCH_MENU_CTL_UPDATE_SAVESTATE_THUMBNAIL_PATH,
74    RARCH_MENU_CTL_UPDATE_SAVESTATE_THUMBNAIL_IMAGE,
75    MENU_NAVIGATION_CTL_CLEAR,
76    MENU_NAVIGATION_CTL_SET_LAST,
77    MENU_NAVIGATION_CTL_GET_SCROLL_ACCEL
78 };
79 
80 enum menu_timedate_style_type
81 {
82    MENU_TIMEDATE_STYLE_YMD_HMS = 0,
83    MENU_TIMEDATE_STYLE_YMD_HM,
84    MENU_TIMEDATE_STYLE_YMD,
85    MENU_TIMEDATE_STYLE_YM,
86    MENU_TIMEDATE_STYLE_MDYYYY_HMS,
87    MENU_TIMEDATE_STYLE_MDYYYY_HM,
88    MENU_TIMEDATE_STYLE_MD_HM,
89    MENU_TIMEDATE_STYLE_MDYYYY,
90    MENU_TIMEDATE_STYLE_MD,
91    MENU_TIMEDATE_STYLE_DDMMYYYY_HMS,
92    MENU_TIMEDATE_STYLE_DDMMYYYY_HM,
93    MENU_TIMEDATE_STYLE_DDMM_HM,
94    MENU_TIMEDATE_STYLE_DDMMYYYY,
95    MENU_TIMEDATE_STYLE_DDMM,
96    MENU_TIMEDATE_STYLE_HMS,
97    MENU_TIMEDATE_STYLE_HM,
98    MENU_TIMEDATE_STYLE_YMD_HMS_AMPM,
99    MENU_TIMEDATE_STYLE_YMD_HM_AMPM,
100    MENU_TIMEDATE_STYLE_MDYYYY_HMS_AMPM,
101    MENU_TIMEDATE_STYLE_MDYYYY_HM_AMPM,
102    MENU_TIMEDATE_STYLE_MD_HM_AMPM,
103    MENU_TIMEDATE_STYLE_DDMMYYYY_HMS_AMPM,
104    MENU_TIMEDATE_STYLE_DDMMYYYY_HM_AMPM,
105    MENU_TIMEDATE_STYLE_DDMM_HM_AMPM,
106    MENU_TIMEDATE_STYLE_HMS_AMPM,
107    MENU_TIMEDATE_STYLE_HM_AMPM,
108    MENU_TIMEDATE_STYLE_LAST
109 };
110 
111 /* Note: These must be kept synchronised with
112  * 'enum playlist_sublabel_last_played_date_separator_type'
113  * in 'runtime_file.h' */
114 enum menu_timedate_date_separator_type
115 {
116    MENU_TIMEDATE_DATE_SEPARATOR_HYPHEN = 0,
117    MENU_TIMEDATE_DATE_SEPARATOR_SLASH,
118    MENU_TIMEDATE_DATE_SEPARATOR_PERIOD,
119    MENU_TIMEDATE_DATE_SEPARATOR_LAST
120 };
121 
122 /* Specifies location of the 'Scan Content' menu
123  * entry when using menu drivers without a
124  * dedicated 'Import Content' (horizontal) tab */
125 enum menu_add_content_entry_display_type
126 {
127    MENU_ADD_CONTENT_ENTRY_DISPLAY_HIDDEN = 0,
128    MENU_ADD_CONTENT_ENTRY_DISPLAY_MAIN_TAB,
129    MENU_ADD_CONTENT_ENTRY_DISPLAY_PLAYLISTS_TAB,
130    MENU_ADD_CONTENT_ENTRY_DISPLAY_LAST
131 };
132 
133 enum rgui_color_theme
134 {
135    RGUI_THEME_CUSTOM = 0,
136    RGUI_THEME_CLASSIC_RED,
137    RGUI_THEME_CLASSIC_ORANGE,
138    RGUI_THEME_CLASSIC_YELLOW,
139    RGUI_THEME_CLASSIC_GREEN,
140    RGUI_THEME_CLASSIC_BLUE,
141    RGUI_THEME_CLASSIC_VIOLET,
142    RGUI_THEME_CLASSIC_GREY,
143    RGUI_THEME_LEGACY_RED,
144    RGUI_THEME_DARK_PURPLE,
145    RGUI_THEME_MIDNIGHT_BLUE,
146    RGUI_THEME_GOLDEN,
147    RGUI_THEME_ELECTRIC_BLUE,
148    RGUI_THEME_APPLE_GREEN,
149    RGUI_THEME_VOLCANIC_RED,
150    RGUI_THEME_LAGOON,
151    RGUI_THEME_BROGRAMMER,
152    RGUI_THEME_DRACULA,
153    RGUI_THEME_FAIRYFLOSS,
154    RGUI_THEME_FLATUI,
155    RGUI_THEME_GRUVBOX_DARK,
156    RGUI_THEME_GRUVBOX_LIGHT,
157    RGUI_THEME_HACKING_THE_KERNEL,
158    RGUI_THEME_NORD,
159    RGUI_THEME_NOVA,
160    RGUI_THEME_ONE_DARK,
161    RGUI_THEME_PALENIGHT,
162    RGUI_THEME_SOLARIZED_DARK,
163    RGUI_THEME_SOLARIZED_LIGHT,
164    RGUI_THEME_TANGO_DARK,
165    RGUI_THEME_TANGO_LIGHT,
166    RGUI_THEME_ZENBURN,
167    RGUI_THEME_ANTI_ZENBURN,
168    RGUI_THEME_FLUX,
169    RGUI_THEME_LAST
170 };
171 
172 enum materialui_color_theme
173 {
174    MATERIALUI_THEME_BLUE = 0,
175    MATERIALUI_THEME_BLUE_GREY,
176    MATERIALUI_THEME_DARK_BLUE,
177    MATERIALUI_THEME_GREEN,
178    MATERIALUI_THEME_RED,
179    MATERIALUI_THEME_YELLOW,
180    MATERIALUI_THEME_NVIDIA_SHIELD,
181    MATERIALUI_THEME_MATERIALUI,
182    MATERIALUI_THEME_MATERIALUI_DARK,
183    MATERIALUI_THEME_OZONE_DARK,
184    MATERIALUI_THEME_NORD,
185    MATERIALUI_THEME_GRUVBOX_DARK,
186    MATERIALUI_THEME_SOLARIZED_DARK,
187    MATERIALUI_THEME_CUTIE_BLUE,
188    MATERIALUI_THEME_CUTIE_CYAN,
189    MATERIALUI_THEME_CUTIE_GREEN,
190    MATERIALUI_THEME_CUTIE_ORANGE,
191    MATERIALUI_THEME_CUTIE_PINK,
192    MATERIALUI_THEME_CUTIE_PURPLE,
193    MATERIALUI_THEME_CUTIE_RED,
194    MATERIALUI_THEME_VIRTUAL_BOY,
195    MATERIALUI_THEME_HACKING_THE_KERNEL,
196    MATERIALUI_THEME_LAST
197 };
198 
199 enum materialui_transition_animation
200 {
201    MATERIALUI_TRANSITION_ANIM_AUTO = 0,
202    MATERIALUI_TRANSITION_ANIM_FADE,
203    MATERIALUI_TRANSITION_ANIM_SLIDE,
204    MATERIALUI_TRANSITION_ANIM_NONE,
205    MATERIALUI_TRANSITION_ANIM_LAST
206 };
207 
208 enum materialui_thumbnail_view_portrait
209 {
210    MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_DISABLED = 0,
211    MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_LIST_SMALL,
212    MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_LIST_MEDIUM,
213    MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_DUAL_ICON,
214    MATERIALUI_THUMBNAIL_VIEW_PORTRAIT_LAST
215 };
216 
217 enum materialui_thumbnail_view_landscape
218 {
219    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_DISABLED = 0,
220    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_LIST_SMALL,
221    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_LIST_MEDIUM,
222    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_LIST_LARGE,
223    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_DESKTOP,
224    MATERIALUI_THUMBNAIL_VIEW_LANDSCAPE_LAST
225 };
226 
227 enum materialui_landscape_layout_optimization_type
228 {
229    MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_DISABLED = 0,
230    MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_ALWAYS,
231    MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_EXCLUDE_THUMBNAIL_VIEWS,
232    MATERIALUI_LANDSCAPE_LAYOUT_OPTIMIZATION_LAST
233 };
234 
235 enum xmb_color_theme
236 {
237    XMB_THEME_LEGACY_RED  = 0,
238    XMB_THEME_DARK_PURPLE,
239    XMB_THEME_MIDNIGHT_BLUE,
240    XMB_THEME_GOLDEN,
241    XMB_THEME_ELECTRIC_BLUE,
242    XMB_THEME_APPLE_GREEN,
243    XMB_THEME_UNDERSEA,
244    XMB_THEME_VOLCANIC_RED,
245    XMB_THEME_DARK,
246    XMB_THEME_LIGHT,
247    XMB_THEME_WALLPAPER,
248    XMB_THEME_MORNING_BLUE,
249    XMB_THEME_SUNBEAM,
250    XMB_THEME_LIME,
251    XMB_THEME_PIKACHU_YELLOW,
252    XMB_THEME_GAMECUBE_PURPLE,
253    XMB_THEME_FAMICOM_RED,
254    XMB_THEME_FLAMING_HOT,
255    XMB_THEME_ICE_COLD,
256    XMB_THEME_MIDGAR,
257    XMB_THEME_LAST
258 };
259 
260 enum xmb_icon_theme
261 {
262    XMB_ICON_THEME_MONOCHROME = 0,
263    XMB_ICON_THEME_FLATUI,
264    XMB_ICON_THEME_RETROACTIVE,
265    XMB_ICON_THEME_PIXEL,
266    XMB_ICON_THEME_NEOACTIVE,
267    XMB_ICON_THEME_SYSTEMATIC,
268    XMB_ICON_THEME_DOTART,
269    XMB_ICON_THEME_CUSTOM,
270    XMB_ICON_THEME_RETROSYSTEM,
271    XMB_ICON_THEME_MONOCHROME_INVERTED,
272    XMB_ICON_THEME_AUTOMATIC,
273    XMB_ICON_THEME_AUTOMATIC_INVERTED,
274    XMB_ICON_THEME_LAST
275 };
276 
277 enum xmb_shader_pipeline
278 {
279 #ifndef HAVE_PSGL
280    XMB_SHADER_PIPELINE_WALLPAPER = 0,
281    XMB_SHADER_PIPELINE_SIMPLE_RIBBON,
282    XMB_SHADER_PIPELINE_RIBBON,
283    XMB_SHADER_PIPELINE_SIMPLE_SNOW,
284    XMB_SHADER_PIPELINE_SNOW,
285    XMB_SHADER_PIPELINE_BOKEH,
286    XMB_SHADER_PIPELINE_SNOWFLAKE,
287    XMB_SHADER_PIPELINE_LAST
288 #else
289    XMB_SHADER_PIPELINE_WALLPAPER = 0,
290    XMB_SHADER_PIPELINE_SIMPLE_RIBBON,
291    XMB_SHADER_PIPELINE_RIBBON,
292    XMB_SHADER_PIPELINE_LAST,
293    XMB_SHADER_PIPELINE_SIMPLE_SNOW,
294    XMB_SHADER_PIPELINE_SNOW,
295    XMB_SHADER_PIPELINE_BOKEH,
296    XMB_SHADER_PIPELINE_SNOWFLAKE
297 #endif
298 };
299 
300 enum rgui_thumbnail_scaler
301 {
302    RGUI_THUMB_SCALE_POINT = 0,
303    RGUI_THUMB_SCALE_BILINEAR,
304    RGUI_THUMB_SCALE_SINC,
305    RGUI_THUMB_SCALE_LAST
306 };
307 
308 enum rgui_upscale_level
309 {
310    RGUI_UPSCALE_NONE = 0,
311    RGUI_UPSCALE_AUTO,
312    RGUI_UPSCALE_X2,
313    RGUI_UPSCALE_X3,
314    RGUI_UPSCALE_X4,
315    RGUI_UPSCALE_X5,
316    RGUI_UPSCALE_X6,
317    RGUI_UPSCALE_X7,
318    RGUI_UPSCALE_X8,
319    RGUI_UPSCALE_X9, /* All the way to 4k */
320    RGUI_UPSCALE_LAST
321 };
322 
323 enum rgui_aspect_ratio
324 {
325    RGUI_ASPECT_RATIO_4_3 = 0,
326    RGUI_ASPECT_RATIO_16_9,
327    RGUI_ASPECT_RATIO_16_9_CENTRE,
328    RGUI_ASPECT_RATIO_16_10,
329    RGUI_ASPECT_RATIO_16_10_CENTRE,
330    RGUI_ASPECT_RATIO_3_2,
331    RGUI_ASPECT_RATIO_3_2_CENTRE,
332    RGUI_ASPECT_RATIO_5_3,
333    RGUI_ASPECT_RATIO_5_3_CENTRE,
334 
335    RGUI_ASPECT_RATIO_LAST
336 };
337 
338 enum rgui_aspect_ratio_lock
339 {
340    RGUI_ASPECT_RATIO_LOCK_NONE = 0,
341    RGUI_ASPECT_RATIO_LOCK_FIT_SCREEN,
342    RGUI_ASPECT_RATIO_LOCK_INTEGER,
343    RGUI_ASPECT_RATIO_LOCK_FILL_SCREEN,
344    RGUI_ASPECT_RATIO_LOCK_LAST
345 };
346 
347 enum rgui_particle_animation_effect
348 {
349    RGUI_PARTICLE_EFFECT_NONE = 0,
350    RGUI_PARTICLE_EFFECT_SNOW,
351    RGUI_PARTICLE_EFFECT_SNOW_ALT,
352    RGUI_PARTICLE_EFFECT_RAIN,
353    RGUI_PARTICLE_EFFECT_VORTEX,
354    RGUI_PARTICLE_EFFECT_STARFIELD,
355    RGUI_PARTICLE_EFFECT_LAST
356 };
357 
358 enum ozone_color_theme
359 {
360    OZONE_COLOR_THEME_BASIC_WHITE = 0,
361    OZONE_COLOR_THEME_BASIC_BLACK,
362    OZONE_COLOR_THEME_NORD,
363    OZONE_COLOR_THEME_GRUVBOX_DARK,
364    OZONE_COLOR_THEME_BOYSENBERRY,
365    OZONE_COLOR_THEME_HACKING_THE_KERNEL,
366    OZONE_COLOR_THEME_TWILIGHT_ZONE,
367    OZONE_COLOR_THEME_DRACULA,
368    OZONE_COLOR_THEME_LAST
369 };
370 
371 enum menu_action
372 {
373    MENU_ACTION_NOOP = 0,
374    MENU_ACTION_UP,
375    MENU_ACTION_DOWN,
376    MENU_ACTION_LEFT,
377    MENU_ACTION_RIGHT,
378    MENU_ACTION_OK,
379    MENU_ACTION_SEARCH,
380    MENU_ACTION_SCAN,
381    MENU_ACTION_CANCEL,
382    MENU_ACTION_INFO,
383    MENU_ACTION_SELECT,
384    MENU_ACTION_START,
385    MENU_ACTION_SCROLL_DOWN,
386    MENU_ACTION_SCROLL_UP,
387    MENU_ACTION_TOGGLE,
388    MENU_ACTION_POINTER_MOVED,
389    MENU_ACTION_POINTER_PRESSED,
390    MENU_ACTION_ACCESSIBILITY_SPEAK_TITLE,
391    MENU_ACTION_ACCESSIBILITY_SPEAK_LABEL,
392    MENU_ACTION_ACCESSIBILITY_SPEAK_TITLE_LABEL
393 };
394 
395 enum playlist_inline_core_display_type
396 {
397    PLAYLIST_INLINE_CORE_DISPLAY_HIST_FAV = 0,
398    PLAYLIST_INLINE_CORE_DISPLAY_ALWAYS,
399    PLAYLIST_INLINE_CORE_DISPLAY_NEVER,
400    PLAYLIST_INLINE_CORE_DISPLAY_LAST
401 };
402 
403 enum playlist_entry_remove_enable_type
404 {
405    PLAYLIST_ENTRY_REMOVE_ENABLE_HIST_FAV = 0,
406    PLAYLIST_ENTRY_REMOVE_ENABLE_ALL,
407    PLAYLIST_ENTRY_REMOVE_ENABLE_NONE,
408    PLAYLIST_ENTRY_REMOVE_ENABLE_LAST
409 };
410 
411 enum quit_on_close_content_type
412 {
413    QUIT_ON_CLOSE_CONTENT_DISABLED = 0,
414    QUIT_ON_CLOSE_CONTENT_ENABLED,
415    QUIT_ON_CLOSE_CONTENT_CLI,
416    QUIT_ON_CLOSE_CONTENT_LAST
417 };
418 
419 #if defined(DINGUX) && defined(RS90)
420 enum dingux_rs90_softfilter_type
421 {
422    DINGUX_RS90_SOFTFILTER_POINT = 0,
423    DINGUX_RS90_SOFTFILTER_BRESENHAM_HORZ,
424    DINGUX_RS90_SOFTFILTER_LAST
425 };
426 #endif
427 
428 RETRO_END_DECLS
429 
430 #endif
431