video_frame_info - start passing flags
This commit is contained in:
parent
538aa5235c
commit
bc41e0fdf4
|
@ -239,7 +239,7 @@ static bool caca_frame(void *data, const void *frame,
|
|||
bool draw = true;
|
||||
caca_t *caca = (caca_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame || !frame_width || !frame_height)
|
||||
|
|
|
@ -1886,7 +1886,7 @@ static bool ctr_frame(void* data, const void* frame,
|
|||
unsigned custom_vp_width = video_info->custom_vp_width;
|
||||
unsigned custom_vp_height = video_info->custom_vp_height;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -2166,7 +2166,7 @@ static bool d3d10_gfx_frame(
|
|||
*osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
const char *stat_text = video_info->stat_text;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
bool overlay_behind_menu = video_info->overlay_behind_menu;
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -2789,7 +2789,7 @@ static bool d3d11_gfx_frame(
|
|||
unsigned video_height = video_info->height;
|
||||
bool statistics_show = video_info->statistics_show;
|
||||
struct font_params* osd_params = (struct font_params*)&video_info->osd_stat_params;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
bool overlay_behind_menu = video_info->overlay_behind_menu;
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -3210,7 +3210,7 @@ static bool d3d12_gfx_frame(
|
|||
unsigned video_height = video_info->height;
|
||||
struct font_params *osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
bool overlay_behind_menu = video_info->overlay_behind_menu;
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -1865,7 +1865,7 @@ static bool d3d8_frame(void *data, const void *frame,
|
|||
bool statistics_show = video_info->statistics_show;
|
||||
unsigned black_frame_insertion = video_info->black_frame_insertion;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame)
|
||||
|
|
|
@ -2032,7 +2032,7 @@ static bool d3d9_cg_frame(void *data, const void *frame,
|
|||
struct font_params *osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
const char *stat_text = video_info->stat_text;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
bool overlay_behind_menu = video_info->overlay_behind_menu;
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -1616,7 +1616,7 @@ static bool d3d9_hlsl_frame(void *data, const void *frame,
|
|||
struct font_params *osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
const char *stat_text = video_info->stat_text;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
bool overlay_behind_menu = video_info->overlay_behind_menu;
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -438,14 +438,14 @@ static bool dispmanx_frame(void *data, const void *frame, unsigned width,
|
|||
struct dispmanx_video *_dispvars = data;
|
||||
float aspect = video_driver_get_aspect_ratio();
|
||||
unsigned max_swapchain_images = video_info->max_swapchain_images;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
|
||||
if (!frame)
|
||||
return true;
|
||||
|
||||
if ( (width != _dispvars->core_width) ||
|
||||
(height != _dispvars->core_height) ||
|
||||
(_dispvars->aspect_ratio != aspect))
|
||||
if ( (width != _dispvars->core_width)
|
||||
|| (height != _dispvars->core_height)
|
||||
|| (_dispvars->aspect_ratio != aspect))
|
||||
{
|
||||
/* Sanity check. */
|
||||
if (width == 0 || height == 0)
|
||||
|
|
|
@ -746,11 +746,11 @@ static bool drm_frame(void *data, const void *frame, unsigned width,
|
|||
{
|
||||
struct drm_video *_drmvars = data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if ( ( width != _drmvars->core_width) ||
|
||||
(height != _drmvars->core_height))
|
||||
if ( (width != _drmvars->core_width)
|
||||
|| (height != _drmvars->core_height))
|
||||
{
|
||||
/* Sanity check. */
|
||||
if (width == 0 || height == 0)
|
||||
|
@ -770,7 +770,7 @@ static bool drm_frame(void *data, const void *frame, unsigned width,
|
|||
pitch,
|
||||
_drmvars->rgb32 ? 4 : 2,
|
||||
_drmvars->rgb32 ? DRM_FORMAT_XRGB8888 : DRM_FORMAT_RGB565,
|
||||
255,
|
||||
255,
|
||||
_drmvars->current_aspect,
|
||||
3,
|
||||
0,
|
||||
|
|
|
@ -1282,8 +1282,7 @@ static bool exynos_frame(void *data, const void *frame, unsigned width,
|
|||
struct exynos_video *vid = data;
|
||||
struct exynos_page *page = NULL;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
/* Check if neither menu nor core framebuffer is to be displayed. */
|
||||
if (!vid->menu_active && !frame)
|
||||
return true;
|
||||
|
|
|
@ -169,7 +169,7 @@ static bool fpga_frame(void *data, const void *frame,
|
|||
fpga_t *fpga = (fpga_t*)data;
|
||||
unsigned bits = fpga->video_bits;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame || !frame_width || !frame_height)
|
||||
|
@ -179,9 +179,9 @@ static bool fpga_frame(void *data, const void *frame,
|
|||
menu_driver_frame(menu_is_alive, video_info);
|
||||
#endif
|
||||
|
||||
if ( fpga->video_width != frame_width ||
|
||||
fpga->video_height != frame_height ||
|
||||
fpga->video_pitch != pitch)
|
||||
if ( (fpga->video_width != frame_width)
|
||||
|| (fpga->video_height != frame_height)
|
||||
|| (fpga->video_pitch != pitch))
|
||||
{
|
||||
if (frame_width > 4 && frame_height > 4)
|
||||
{
|
||||
|
|
|
@ -597,7 +597,7 @@ static bool gdi_frame(void *data, const void *frame,
|
|||
unsigned bits = gdi->video_bits;
|
||||
HWND hwnd = win32_get_window();
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
/* FIXME: Force these settings off as they interfere with the rendering */
|
||||
|
@ -612,9 +612,9 @@ static bool gdi_frame(void *data, const void *frame,
|
|||
menu_driver_frame(menu_is_alive, video_info);
|
||||
#endif
|
||||
|
||||
if ( gdi->video_width != frame_width ||
|
||||
gdi->video_height != frame_height ||
|
||||
gdi->video_pitch != pitch)
|
||||
if ( (gdi->video_width != frame_width)
|
||||
|| (gdi->video_height != frame_height)
|
||||
|| (gdi->video_pitch != pitch))
|
||||
{
|
||||
if (frame_width > 4 && frame_height > 4)
|
||||
{
|
||||
|
|
|
@ -1500,7 +1500,7 @@ static bool gl1_frame(void *data, const void *frame,
|
|||
unsigned video_width = video_info->width;
|
||||
unsigned video_height = video_info->height;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -3440,7 +3440,7 @@ static bool gl2_frame(void *data, const void *frame,
|
|||
&video_info->osd_stat_params;
|
||||
const char *stat_text = video_info->stat_text;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -2519,7 +2519,7 @@ static bool gl3_frame(void *data, const void *frame,
|
|||
bool runloop_is_slowmotion = video_info->runloop_is_slowmotion;
|
||||
bool input_driver_nonblock_state = video_info->input_driver_nonblock_state;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -1880,7 +1880,7 @@ static bool gx2_frame(void *data, const void *frame,
|
|||
uint32_t i;
|
||||
wiiu_video_t *wiiu = (wiiu_video_t *) data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -1589,7 +1589,7 @@ static bool gx_frame(void *data, const void *frame,
|
|||
bool video_smooth = settings->bools.video_smooth;
|
||||
unsigned video_aspect_ratio_idx = settings->uints.video_aspect_ratio_idx;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
bool fps_show = video_info->fps_show;
|
||||
|
||||
|
|
|
@ -1062,7 +1062,7 @@ font_renderer_t metal_raster_font = {
|
|||
|
||||
- (void)_drawMenu:(video_frame_info_t *)video_info
|
||||
{
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
|
||||
if (!_menu.enabled)
|
||||
return;
|
||||
|
|
|
@ -171,7 +171,7 @@ static bool network_gfx_frame(void *data, const void *frame,
|
|||
bool draw = true;
|
||||
network_video_t *network = (network_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame || !frame_width || !frame_height)
|
||||
|
|
|
@ -547,10 +547,13 @@ static bool oga_frame(void *data, const void *frame, unsigned width,
|
|||
unsigned height, uint64_t frame_count,
|
||||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
oga_video_t *vid = (oga_video_t*)data;
|
||||
oga_framebuf_t* page = vid->pages[vid->cur_page];
|
||||
oga_video_t *vid = (oga_video_t*)data;
|
||||
oga_framebuf_t* page = vid->pages[vid->cur_page];
|
||||
oga_surface_t *page_surface = page->surface;
|
||||
float aspect_ratio = video_driver_get_aspect_ratio();
|
||||
float aspect_ratio = video_driver_get_aspect_ratio();
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (unlikely(!frame || width == 0 || height == 0))
|
||||
return true;
|
||||
|
@ -569,7 +572,22 @@ static bool oga_frame(void *data, const void *frame, unsigned width,
|
|||
|
||||
rga_clear_surface(page_surface, 0);
|
||||
|
||||
if (likely(!video_info->menu_is_alive))
|
||||
#ifdef HAVE_MENU
|
||||
if (menu_is_alive)
|
||||
{
|
||||
oga_rect_t r;
|
||||
menu_driver_frame(true, video_info);
|
||||
|
||||
width = vid->menu_surface->width;
|
||||
height = vid->menu_surface->height;
|
||||
aspect_ratio = (float)width / height;
|
||||
|
||||
oga_calc_bounds(&r, vid->drm_width, vid->drm_height, width, height, aspect_ratio, vid->display_ar);
|
||||
oga_blit(vid->menu_surface, 0, 0, width, height,
|
||||
page_surface, r.y, r.x, r.h, r.w, HAL_TRANSFORM_ROT_270, vid->scale_mode, 0);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
uint8_t* src = (uint8_t*)frame;
|
||||
uint8_t* dst = (uint8_t*)vid->frame_surface->map;
|
||||
|
@ -581,7 +599,8 @@ static bool oga_frame(void *data, const void *frame, unsigned width,
|
|||
int dst_pitch = vid->frame_surface->pitch;
|
||||
int yy = height;
|
||||
|
||||
while (yy > 0) {
|
||||
while (yy > 0)
|
||||
{
|
||||
memcpy(dst, src, pitch);
|
||||
src += pitch;
|
||||
dst += dst_pitch;
|
||||
|
@ -593,22 +612,6 @@ static bool oga_frame(void *data, const void *frame, unsigned width,
|
|||
oga_blit(vid->frame_surface, 0, 0, width, height,
|
||||
page_surface, r.y, r.x, r.h, r.w, vid->rotation, vid->scale_mode, blend);
|
||||
}
|
||||
#ifdef HAVE_MENU
|
||||
else
|
||||
{
|
||||
menu_driver_frame(true, video_info);
|
||||
|
||||
width = vid->menu_surface->width;
|
||||
height = vid->menu_surface->height;
|
||||
|
||||
aspect_ratio = (float)width / height;
|
||||
|
||||
oga_rect_t r;
|
||||
oga_calc_bounds(&r, vid->drm_width, vid->drm_height, width, height, aspect_ratio, vid->display_ar);
|
||||
oga_blit(vid->menu_surface, 0, 0, width, height,
|
||||
page_surface, r.y, r.x, r.h, r.w, HAL_TRANSFORM_ROT_270, vid->scale_mode, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (msg)
|
||||
{
|
||||
|
|
|
@ -979,7 +979,7 @@ static bool omap_frame(void *data, const void *frame, unsigned width,
|
|||
{
|
||||
omap_video_t *vid = (omap_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame)
|
||||
|
|
|
@ -550,9 +550,9 @@ static bool psp_frame(void *data, const void *frame,
|
|||
unsigned width, unsigned height, uint64_t frame_count,
|
||||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
psp1_video_t *psp = (psp1_video_t*)data;
|
||||
psp1_video_t *psp = (psp1_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!width || !height)
|
||||
|
|
|
@ -2163,7 +2163,7 @@ static bool rsx_frame(void* data, const void* frame,
|
|||
bool statistics_show = video_info->statistics_show;
|
||||
struct font_params *osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -476,9 +476,9 @@ static bool sdl2_gfx_frame(void *data, const void *frame, unsigned width,
|
|||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
char title[128];
|
||||
sdl2_video_t *vid = (sdl2_video_t*)data;
|
||||
sdl2_video_t *vid = (sdl2_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (vid->flags & SDL2_FLAG_SHOULD_RESIZE)
|
||||
|
|
|
@ -422,9 +422,9 @@ static void *sdl_dingux_gfx_init(const video_info_t *video,
|
|||
settings->uints.video_dingux_ipu_filter_type;
|
||||
const char *input_drv_name = settings->arrays.input_driver;
|
||||
const char *joypad_drv_name = settings->arrays.input_joypad_driver;
|
||||
uint32_t surface_flags = (video->vsync) ?
|
||||
(SDL_HWSURFACE | SDL_TRIPLEBUF | SDL_FULLSCREEN) :
|
||||
(SDL_HWSURFACE | SDL_FULLSCREEN);
|
||||
uint32_t surface_flags = (video->vsync)
|
||||
? (SDL_HWSURFACE | SDL_TRIPLEBUF | SDL_FULLSCREEN)
|
||||
: (SDL_HWSURFACE | SDL_FULLSCREEN);
|
||||
|
||||
/* Initialise graphics subsystem, if required */
|
||||
if (sdl_subsystem_flags == 0)
|
||||
|
@ -445,13 +445,15 @@ static void *sdl_dingux_gfx_init(const video_info_t *video,
|
|||
dingux_ipu_set_downscaling_enable(true);
|
||||
dingux_ipu_set_scaling_mode(ipu_keep_aspect, ipu_integer_scaling);
|
||||
dingux_ipu_set_filter_type(ipu_filter_type);
|
||||
|
||||
vid->ff_frame_time_min = 16667;
|
||||
#if defined(DINGUX_BETA)
|
||||
/* Get current refresh rate */
|
||||
refresh_rate_valid = dingux_get_video_refresh_rate(¤t_refresh_rate);
|
||||
refresh_rate_valid = dingux_get_video_refresh_rate(¤t_refresh_rate);
|
||||
|
||||
/* Check if refresh rate needs to be updated */
|
||||
if (!refresh_rate_valid ||
|
||||
(current_refresh_rate != target_refresh_rate))
|
||||
if ( !refresh_rate_valid
|
||||
|| (current_refresh_rate != target_refresh_rate))
|
||||
hw_refresh_rate = dingux_set_video_refresh_rate(target_refresh_rate);
|
||||
else
|
||||
{
|
||||
|
@ -475,19 +477,9 @@ static void *sdl_dingux_gfx_init(const video_info_t *video,
|
|||
}
|
||||
|
||||
vid->refresh_rate = target_refresh_rate;
|
||||
switch (target_refresh_rate)
|
||||
{
|
||||
case DINGUX_REFRESH_RATE_50HZ:
|
||||
vid->ff_frame_time_min = 20000;
|
||||
break;
|
||||
default:
|
||||
vid->ff_frame_time_min = 16667;
|
||||
break;
|
||||
}
|
||||
|
||||
if (target_refresh_rate == DINGUX_REFRESH_RATE_50HZ)
|
||||
vid->ff_frame_time_min = 20000;
|
||||
driver_ctl(RARCH_DRIVER_CTL_SET_REFRESH_RATE, &hw_refresh_rate);
|
||||
#else
|
||||
vid->ff_frame_time_min = 16667;
|
||||
#endif
|
||||
|
||||
vid->screen = SDL_SetVideoMode(
|
||||
|
@ -524,8 +516,8 @@ static void *sdl_dingux_gfx_init(const video_info_t *video,
|
|||
|
||||
vid->osd_font = bitmapfont_get_lut();
|
||||
|
||||
if (!vid->osd_font ||
|
||||
vid->osd_font->glyph_max <
|
||||
if ( !vid->osd_font
|
||||
|| vid->osd_font->glyph_max <
|
||||
(SDL_DINGUX_NUM_FONT_GLYPHS - 1))
|
||||
{
|
||||
RARCH_ERR("[SDL1]: Failed to init OSD font\n");
|
||||
|
@ -621,9 +613,9 @@ static void sdl_dingux_set_output(
|
|||
{
|
||||
unsigned sanitized_width;
|
||||
unsigned sanitized_height;
|
||||
uint32_t surface_flags = (vid->vsync) ?
|
||||
(SDL_HWSURFACE | SDL_TRIPLEBUF | SDL_FULLSCREEN) :
|
||||
(SDL_HWSURFACE | SDL_FULLSCREEN);
|
||||
uint32_t surface_flags = (vid->vsync)
|
||||
? (SDL_HWSURFACE | SDL_TRIPLEBUF | SDL_FULLSCREEN)
|
||||
: (SDL_HWSURFACE | SDL_FULLSCREEN);
|
||||
|
||||
/* Cache set parameters */
|
||||
vid->frame_width = width;
|
||||
|
@ -765,6 +757,9 @@ static bool sdl_dingux_gfx_frame(void *data, const void *frame,
|
|||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
sdl_dingux_video_t* vid = (sdl_dingux_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
/* Return early if:
|
||||
* - Input sdl_dingux_video_t struct is NULL
|
||||
|
@ -796,7 +791,7 @@ static bool sdl_dingux_gfx_frame(void *data, const void *frame,
|
|||
}
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_driver_frame(video_info->menu_is_alive, video_info);
|
||||
menu_driver_frame(menu_is_alive, video_info);
|
||||
#endif
|
||||
|
||||
if (likely(!vid->menu_active))
|
||||
|
@ -804,9 +799,9 @@ static bool sdl_dingux_gfx_frame(void *data, const void *frame,
|
|||
/* Update video mode if we were in the menu on
|
||||
* the previous frame, or width/height have changed */
|
||||
if (unlikely(
|
||||
vid->was_in_menu ||
|
||||
(vid->frame_width != width) ||
|
||||
(vid->frame_height != height)))
|
||||
vid->was_in_menu
|
||||
|| (vid->frame_width != width)
|
||||
|| (vid->frame_height != height)))
|
||||
sdl_dingux_set_output(vid, width, height, vid->rgb32);
|
||||
|
||||
/* Must always lock SDL surface before
|
||||
|
@ -878,11 +873,8 @@ static bool sdl_dingux_gfx_frame(void *data, const void *frame,
|
|||
static void sdl_dingux_set_texture_enable(void *data, bool state, bool full_screen)
|
||||
{
|
||||
sdl_dingux_video_t *vid = (sdl_dingux_video_t*)data;
|
||||
|
||||
if (unlikely(!vid))
|
||||
return;
|
||||
|
||||
vid->menu_active = state;
|
||||
if (vid)
|
||||
vid->menu_active = state;
|
||||
}
|
||||
|
||||
static void sdl_dingux_set_texture_frame(void *data, const void *frame, bool rgb32,
|
||||
|
@ -891,10 +883,10 @@ static void sdl_dingux_set_texture_frame(void *data, const void *frame, bool rgb
|
|||
sdl_dingux_video_t *vid = (sdl_dingux_video_t*)data;
|
||||
|
||||
if (unlikely(
|
||||
!vid ||
|
||||
rgb32 ||
|
||||
(width > SDL_DINGUX_MENU_WIDTH) ||
|
||||
(height > SDL_DINGUX_MENU_HEIGHT)))
|
||||
!vid
|
||||
|| rgb32
|
||||
|| (width > SDL_DINGUX_MENU_WIDTH)
|
||||
|| (height > SDL_DINGUX_MENU_HEIGHT)))
|
||||
return;
|
||||
|
||||
memcpy(vid->menu_texture, frame, width * height * sizeof(uint16_t));
|
||||
|
@ -972,21 +964,13 @@ static bool sdl_dingux_gfx_alive(void *data)
|
|||
return !vid->quitting;
|
||||
}
|
||||
|
||||
static bool sdl_dingux_gfx_focus(void *data)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool sdl_dingux_gfx_focus(void *data) { return true; }
|
||||
static bool sdl_dingux_gfx_has_windowed(void *data) { return false; }
|
||||
static bool sdl_dingux_gfx_suppress_screensaver(void *data, bool enable)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool sdl_dingux_gfx_has_windowed(void *data)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static void sdl_dingux_gfx_viewport_info(void *data, struct video_viewport *vp)
|
||||
{
|
||||
sdl_dingux_video_t *vid = (sdl_dingux_video_t*)data;
|
||||
|
@ -1050,15 +1034,15 @@ static void sdl_dingux_apply_state_changes(void *data)
|
|||
return;
|
||||
|
||||
/* Update IPU scaling mode, if required */
|
||||
if ((vid->keep_aspect != ipu_keep_aspect) ||
|
||||
(vid->integer_scaling != ipu_integer_scaling))
|
||||
if ( (vid->keep_aspect != ipu_keep_aspect)
|
||||
|| (vid->integer_scaling != ipu_integer_scaling))
|
||||
{
|
||||
unsigned sanitized_width;
|
||||
unsigned sanitized_height;
|
||||
unsigned current_width = vid->frame_width;
|
||||
unsigned current_height = vid->frame_height;
|
||||
unsigned screen_width = vid->screen->w;
|
||||
unsigned screen_height = vid->screen->h;
|
||||
unsigned sanitized_width;
|
||||
unsigned sanitized_height;
|
||||
|
||||
dingux_ipu_set_scaling_mode(ipu_keep_aspect, ipu_integer_scaling);
|
||||
vid->keep_aspect = ipu_keep_aspect;
|
||||
|
@ -1071,17 +1055,14 @@ static void sdl_dingux_apply_state_changes(void *data)
|
|||
current_width, current_height,
|
||||
&sanitized_width, &sanitized_height);
|
||||
|
||||
if ((screen_width != sanitized_width) ||
|
||||
(screen_height != sanitized_height))
|
||||
if ( (screen_width != sanitized_width)
|
||||
|| (screen_height != sanitized_height))
|
||||
sdl_dingux_set_output(vid,
|
||||
current_width, current_height, vid->rgb32);
|
||||
}
|
||||
}
|
||||
|
||||
static uint32_t sdl_dingux_get_flags(void *data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static uint32_t sdl_dingux_get_flags(void *data) { return 0; }
|
||||
|
||||
static const video_poke_interface_t sdl_dingux_poke_interface = {
|
||||
sdl_dingux_get_flags,
|
||||
|
|
|
@ -363,9 +363,9 @@ static bool sdl_gfx_frame(void *data, const void *frame, unsigned width,
|
|||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
char title[128];
|
||||
sdl_video_t *vid = (sdl_video_t*)data;
|
||||
sdl_video_t *vid = (sdl_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!vid)
|
||||
|
|
|
@ -1069,6 +1069,9 @@ static bool sdl_rs90_gfx_frame(void *data, const void *frame,
|
|||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
sdl_rs90_video_t* vid = (sdl_rs90_video_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
/* Return early if:
|
||||
* - Input sdl_rs90_video_t struct is NULL
|
||||
|
@ -1100,7 +1103,7 @@ static bool sdl_rs90_gfx_frame(void *data, const void *frame,
|
|||
}
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
menu_driver_frame(video_info->menu_is_alive, video_info);
|
||||
menu_driver_frame(menu_is_alive, video_info);
|
||||
#endif
|
||||
|
||||
if (likely(!vid->menu_active))
|
||||
|
|
|
@ -326,7 +326,7 @@ static bool sixel_gfx_frame(void *data, const void *frame,
|
|||
bool draw = true;
|
||||
sixel_t *sixel = (sixel_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame || !frame_width || !frame_height)
|
||||
|
|
|
@ -772,7 +772,7 @@ static bool sunxi_frame(void *data, const void *frame, unsigned width,
|
|||
{
|
||||
struct sunxi_video *_dispvars = (struct sunxi_video*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (_dispvars->src_width != width || _dispvars->src_height != height)
|
||||
|
|
|
@ -670,7 +670,7 @@ static bool switch_frame(void *data, const void *frame,
|
|||
uint32_t *out_buffer = NULL;
|
||||
bool ffwd_mode = video_info->input_driver_nonblock_state;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
struct font_params
|
||||
*osd_params = (struct font_params *)&video_info->osd_stat_params;
|
||||
|
|
|
@ -411,10 +411,10 @@ static bool vg_frame(void *data, const void *frame,
|
|||
unsigned width = video_info->width;
|
||||
unsigned height = video_info->height;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if ( frame_width != vg->mRenderWidth
|
||||
if ( frame_width != vg->mRenderWidth
|
||||
|| frame_height != vg->mRenderHeight
|
||||
|| vg->should_resize)
|
||||
{
|
||||
|
|
|
@ -220,7 +220,7 @@ static bool vga_gfx_frame(void *data, const void *frame,
|
|||
bool draw = true;
|
||||
vga_t *vga = (vga_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
if (!frame || !frame_width || !frame_height)
|
||||
|
@ -230,9 +230,9 @@ static bool vga_gfx_frame(void *data, const void *frame,
|
|||
menu_driver_frame(menu_is_alive, video_info);
|
||||
#endif
|
||||
|
||||
if ( vga->vga_video_width != frame_width ||
|
||||
vga->vga_video_height != frame_height ||
|
||||
vga->vga_video_pitch != pitch)
|
||||
if ( (vga->vga_video_width != frame_width)
|
||||
|| (vga->vga_video_height != frame_height)
|
||||
|| (vga->vga_video_pitch != pitch))
|
||||
{
|
||||
if (frame_width > 4 && frame_height > 4)
|
||||
{
|
||||
|
|
|
@ -624,21 +624,18 @@ static bool vita2d_frame(void *data, const void *frame,
|
|||
unsigned pitch, const char *msg, video_frame_info_t *video_info)
|
||||
{
|
||||
void *tex_p;
|
||||
vita_video_t *vita = (vita_video_t *)data;
|
||||
vita_video_t *vita = (vita_video_t *)data;
|
||||
unsigned temp_width = PSP_FB_WIDTH;
|
||||
unsigned temp_height = PSP_FB_HEIGHT;
|
||||
vita2d_video_mode_data video_mode_data = {0};
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
#endif
|
||||
bool statistics_show = video_info->statistics_show;
|
||||
struct font_params
|
||||
*osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
|
||||
bool statistics_show = video_info->statistics_show;
|
||||
struct font_params *osd_params = (struct font_params*)&video_info->osd_stat_params;
|
||||
|
||||
if (frame)
|
||||
{
|
||||
|
|
|
@ -4072,7 +4072,7 @@ static bool vulkan_frame(void *data, const void *frame,
|
|||
struct font_params *osd_params = (struct font_params*)
|
||||
&video_info->osd_stat_params;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
bool widgets_active = video_info->widgets_active;
|
||||
|
|
|
@ -200,16 +200,14 @@ static bool xenon360_frame(void *data,
|
|||
unsigned stride_in, stride_out, copy_size;
|
||||
xenos_t *xenos = (xenos_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
DrawVerticeFormats *Rect = NULL;
|
||||
|
||||
ScreenUv[UV_TOP] = ((float) (width) / (float) XE_W)*2;
|
||||
ScreenUv[UV_LEFT] = ((float) (height) / (float) XE_H)*2;
|
||||
|
||||
Rect = Xe_VB_Lock(xenos->device, xenos->vb,
|
||||
DrawVerticeFormats *Rect = Xe_VB_Lock(xenos->device, xenos->vb,
|
||||
0, 3 * sizeof(DrawVerticeFormats), XE_LOCK_WRITE);
|
||||
|
||||
ScreenUv[UV_TOP] = ((float)(width) / (float)XE_W) * 2;
|
||||
ScreenUv[UV_LEFT] = ((float)(height) / (float)XE_H) * 2;
|
||||
|
||||
/* Bottom left */
|
||||
Rect[1].v = ScreenUv[UV_LEFT];
|
||||
Rect[2].u = ScreenUv[UV_TOP];
|
||||
|
|
|
@ -141,7 +141,7 @@ static bool xshm_frame(void *data, const void *frame, unsigned width,
|
|||
unsigned y;
|
||||
xshm_t *xshm = (xshm_t*)data;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
#endif
|
||||
|
||||
for (y = 0; y < height; y++)
|
||||
|
|
|
@ -1017,19 +1017,18 @@ static bool xv_frame(void *data, const void *frame, unsigned width,
|
|||
XWindowAttributes target;
|
||||
xv_t *xv = (xv_t*)data;
|
||||
bool rgb32 = video_info->use_rgba;
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_is_alive = video_info->menu_is_alive;
|
||||
bool menu_is_alive = (video_info->menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
|
||||
menu_driver_frame(menu_is_alive, video_info);
|
||||
|
||||
if (menu_is_alive && xv->tex_frame)
|
||||
{
|
||||
frame = xv->tex_frame;
|
||||
width = xv->tex_width;
|
||||
frame = xv->tex_frame;
|
||||
width = xv->tex_width;
|
||||
height = xv->tex_height;
|
||||
pitch = xv->tex_pitch;
|
||||
rgb32 = xv->tex_rgb32;
|
||||
pitch = xv->tex_pitch;
|
||||
rgb32 = xv->tex_rgb32;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -32,6 +32,10 @@
|
|||
#include "gfx_widgets.h"
|
||||
#include "font_driver.h"
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
#include "../menu/menu_defines.h"
|
||||
#endif
|
||||
|
||||
#include "../configuration.h"
|
||||
#include "../file_path_special.h"
|
||||
#include "../msg_hash.h"
|
||||
|
@ -1486,15 +1490,21 @@ void gfx_widgets_frame(void *data)
|
|||
bool widgets_is_fastforwarding = video_info->widgets_is_fast_forwarding;
|
||||
bool widgets_is_rewinding = video_info->widgets_is_rewinding;
|
||||
bool runloop_is_slowmotion = video_info->runloop_is_slowmotion;
|
||||
bool menu_screensaver_active = video_info->menu_screensaver_active;
|
||||
bool notifications_hidden = video_info->notifications_hidden ||
|
||||
video_info->msg_queue_delay;
|
||||
#ifdef HAVE_MENU
|
||||
bool menu_screensaver_active = (video_info->menu_st_flags & MENU_ST_FLAG_SCREENSAVER_ACTIVE) ? true : false;
|
||||
#endif
|
||||
bool notifications_hidden = video_info->notifications_hidden || video_info->msg_queue_delay;
|
||||
int top_right_x_advance = video_width;
|
||||
|
||||
p_dispwidget->gfx_widgets_frame_count++;
|
||||
|
||||
/* If menu screensaver is active or notifications are hidden, draw nothing */
|
||||
if (menu_screensaver_active || notifications_hidden)
|
||||
#ifdef HAVE_MENU
|
||||
/* If menu screensaver is active, draw nothing */
|
||||
if (menu_screensaver_active)
|
||||
return;
|
||||
#endif
|
||||
/* If notifications are hidden, draw nothing */
|
||||
if (notifications_hidden)
|
||||
return;
|
||||
|
||||
if (video_st->current_video && video_st->current_video->set_viewport)
|
||||
|
|
|
@ -2609,8 +2609,7 @@ void video_driver_build_info(video_frame_info_t *video_info)
|
|||
video_info->memory_update_interval = settings->uints.memory_update_interval;
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
video_info->menu_is_alive = (menu_st->flags & MENU_ST_FLAG_ALIVE) ? true : false;
|
||||
video_info->menu_screensaver_active = (menu_st->flags & MENU_ST_FLAG_SCREENSAVER_ACTIVE) ? true : false;
|
||||
video_info->menu_st_flags = menu_st->flags;
|
||||
video_info->menu_footer_opacity = settings->floats.menu_footer_opacity;
|
||||
video_info->menu_header_opacity = settings->floats.menu_header_opacity;
|
||||
video_info->materialui_color_theme = settings->uints.menu_materialui_color_theme;
|
||||
|
@ -2627,8 +2626,7 @@ void video_driver_build_info(video_frame_info_t *video_info)
|
|||
video_info->overlay_behind_menu = settings->bools.input_overlay_behind_menu;
|
||||
video_info->libretro_running = (runloop_st->current_core.flags & RETRO_CORE_FLAG_GAME_LOADED) ? true : false;
|
||||
#else
|
||||
video_info->menu_is_alive = false;
|
||||
video_info->menu_screensaver_active = false;
|
||||
video_info->menu_st_flags = 0;
|
||||
video_info->menu_footer_opacity = 0.0f;
|
||||
video_info->menu_header_opacity = 0.0f;
|
||||
video_info->materialui_color_theme = 0;
|
||||
|
@ -3428,7 +3426,7 @@ void video_driver_frame(const void *data, unsigned width,
|
|||
* that the next frame update is captured) */
|
||||
if ( video_info.input_driver_nonblock_state
|
||||
&& video_info.fastforward_frameskip
|
||||
&& !(video_info.menu_is_alive
|
||||
&& !((video_info.menu_st_flags & MENU_ST_FLAG_ALIVE)
|
||||
|| (last_frame_duped && !!data)))
|
||||
{
|
||||
retro_time_t frame_time_accumulator_prev = frame_time_accumulator;
|
||||
|
@ -3739,7 +3737,7 @@ void video_driver_frame(const void *data, unsigned width,
|
|||
msg_entry.category,
|
||||
msg_entry.prio,
|
||||
false,
|
||||
video_info.menu_is_alive
|
||||
(video_info.menu_st_flags & MENU_ST_FLAG_ALIVE) ? true : false
|
||||
);
|
||||
}
|
||||
/* ...otherwise, just output message via
|
||||
|
@ -3901,7 +3899,8 @@ void video_driver_frame(const void *data, unsigned width,
|
|||
if (video_st->current_video->frame(
|
||||
video_st->data, data, width, height,
|
||||
video_st->frame_count, (unsigned)pitch,
|
||||
video_info.menu_screensaver_active || video_info.notifications_hidden ? "" : video_driver_msg,
|
||||
((video_info.menu_st_flags & MENU_ST_FLAG_SCREENSAVER_ACTIVE) > 0)
|
||||
|| video_info.notifications_hidden ? "" : video_driver_msg,
|
||||
&video_info))
|
||||
video_st->flags |= VIDEO_FLAG_ACTIVE;
|
||||
else
|
||||
|
@ -3916,7 +3915,7 @@ void video_driver_frame(const void *data, unsigned width,
|
|||
|| video_info.memory_show
|
||||
|| video_info.core_status_msg_show
|
||||
)
|
||||
&& !video_info.menu_screensaver_active
|
||||
&& !((video_info.menu_st_flags & MENU_ST_FLAG_SCREENSAVER_ACTIVE))
|
||||
&& !video_info.notifications_hidden
|
||||
)
|
||||
{
|
||||
|
|
|
@ -450,6 +450,8 @@ typedef struct video_frame_info
|
|||
bool full_screen;
|
||||
} osd_stat_params;
|
||||
|
||||
uint16_t menu_st_flags;
|
||||
|
||||
char stat_text[1024];
|
||||
|
||||
bool widgets_active;
|
||||
|
@ -483,8 +485,6 @@ typedef struct video_frame_info
|
|||
bool runloop_is_slowmotion;
|
||||
bool runloop_is_paused;
|
||||
bool fastforward_frameskip;
|
||||
bool menu_is_alive;
|
||||
bool menu_screensaver_active;
|
||||
bool msg_bgcolor_enable;
|
||||
bool crt_switch_hires_menu;
|
||||
bool hdr_enable;
|
||||
|
|
|
@ -25,6 +25,54 @@ RETRO_BEGIN_DECLS
|
|||
|
||||
#define MENU_SETTINGS_AUDIO_MIXER_MAX_STREAMS (AUDIO_MIXER_MAX_SYSTEM_STREAMS-1)
|
||||
|
||||
enum menu_state_flags
|
||||
{
|
||||
MENU_ST_FLAG_ALIVE = (1 << 0),
|
||||
MENU_ST_FLAG_IS_BINDING = (1 << 1),
|
||||
MENU_ST_FLAG_INP_DLG_KB_DISPLAY = (1 << 2),
|
||||
/* When enabled, on next iteration the 'Quick Menu'
|
||||
* list will be pushed onto the stack */
|
||||
MENU_ST_FLAG_PENDING_QUICK_MENU = (1 << 3),
|
||||
MENU_ST_FLAG_PREVENT_POPULATE = (1 << 4),
|
||||
/* The menu driver owns the userdata */
|
||||
MENU_ST_FLAG_DATA_OWN = (1 << 5),
|
||||
/* Flagged when menu entries need to be refreshed */
|
||||
MENU_ST_FLAG_ENTRIES_NEED_REFRESH = (1 << 6),
|
||||
MENU_ST_FLAG_ENTRIES_NONBLOCKING_REFRESH = (1 << 7),
|
||||
/* 'Close Content'-hotkey menu resetting */
|
||||
MENU_ST_FLAG_PENDING_CLOSE_CONTENT = (1 << 8),
|
||||
/* Flagged when a core calls RETRO_ENVIRONMENT_SHUTDOWN,
|
||||
* requiring the menu to be flushed on the next iteration */
|
||||
MENU_ST_FLAG_PENDING_ENV_SHUTDOWN_FLUSH = (1 << 9),
|
||||
/* Screensaver status
|
||||
* - Does menu driver support screensaver functionality?
|
||||
* - Is screensaver currently active? */
|
||||
MENU_ST_FLAG_SCREENSAVER_SUPPORTED = (1 << 10),
|
||||
MENU_ST_FLAG_SCREENSAVER_ACTIVE = (1 << 11)
|
||||
};
|
||||
|
||||
enum menu_scroll_mode
|
||||
{
|
||||
MENU_SCROLL_PAGE = 0,
|
||||
MENU_SCROLL_START_LETTER
|
||||
};
|
||||
|
||||
enum contentless_core_runtime_status
|
||||
{
|
||||
CONTENTLESS_CORE_RUNTIME_UNKNOWN = 0,
|
||||
CONTENTLESS_CORE_RUNTIME_MISSING,
|
||||
CONTENTLESS_CORE_RUNTIME_VALID
|
||||
};
|
||||
|
||||
enum action_iterate_type
|
||||
{
|
||||
ITERATE_TYPE_DEFAULT = 0,
|
||||
ITERATE_TYPE_HELP,
|
||||
ITERATE_TYPE_INFO,
|
||||
ITERATE_TYPE_BIND
|
||||
};
|
||||
|
||||
|
||||
enum menu_image_type
|
||||
{
|
||||
MENU_IMAGE_NONE = 0,
|
||||
|
|
|
@ -308,53 +308,6 @@ enum menu_settings_type
|
|||
MENU_SETTINGS_LAST
|
||||
};
|
||||
|
||||
enum menu_state_flags
|
||||
{
|
||||
MENU_ST_FLAG_ALIVE = (1 << 0),
|
||||
MENU_ST_FLAG_IS_BINDING = (1 << 1),
|
||||
MENU_ST_FLAG_INP_DLG_KB_DISPLAY = (1 << 2),
|
||||
/* When enabled, on next iteration the 'Quick Menu'
|
||||
* list will be pushed onto the stack */
|
||||
MENU_ST_FLAG_PENDING_QUICK_MENU = (1 << 3),
|
||||
MENU_ST_FLAG_PREVENT_POPULATE = (1 << 4),
|
||||
/* The menu driver owns the userdata */
|
||||
MENU_ST_FLAG_DATA_OWN = (1 << 5),
|
||||
/* Flagged when menu entries need to be refreshed */
|
||||
MENU_ST_FLAG_ENTRIES_NEED_REFRESH = (1 << 6),
|
||||
MENU_ST_FLAG_ENTRIES_NONBLOCKING_REFRESH = (1 << 7),
|
||||
/* 'Close Content'-hotkey menu resetting */
|
||||
MENU_ST_FLAG_PENDING_CLOSE_CONTENT = (1 << 8),
|
||||
/* Flagged when a core calls RETRO_ENVIRONMENT_SHUTDOWN,
|
||||
* requiring the menu to be flushed on the next iteration */
|
||||
MENU_ST_FLAG_PENDING_ENV_SHUTDOWN_FLUSH = (1 << 9),
|
||||
/* Screensaver status
|
||||
* - Does menu driver support screensaver functionality?
|
||||
* - Is screensaver currently active? */
|
||||
MENU_ST_FLAG_SCREENSAVER_SUPPORTED = (1 << 10),
|
||||
MENU_ST_FLAG_SCREENSAVER_ACTIVE = (1 << 11)
|
||||
};
|
||||
|
||||
enum menu_scroll_mode
|
||||
{
|
||||
MENU_SCROLL_PAGE = 0,
|
||||
MENU_SCROLL_START_LETTER
|
||||
};
|
||||
|
||||
enum contentless_core_runtime_status
|
||||
{
|
||||
CONTENTLESS_CORE_RUNTIME_UNKNOWN = 0,
|
||||
CONTENTLESS_CORE_RUNTIME_MISSING,
|
||||
CONTENTLESS_CORE_RUNTIME_VALID
|
||||
};
|
||||
|
||||
enum action_iterate_type
|
||||
{
|
||||
ITERATE_TYPE_DEFAULT = 0,
|
||||
ITERATE_TYPE_HELP,
|
||||
ITERATE_TYPE_INFO,
|
||||
ITERATE_TYPE_BIND
|
||||
};
|
||||
|
||||
struct menu_list
|
||||
{
|
||||
file_list_t **menu_stack;
|
||||
|
@ -798,12 +751,9 @@ size_t menu_driver_get_thumbnail_system(void *data, char *s, size_t len);
|
|||
extern const menu_ctx_driver_t *menu_ctx_drivers[];
|
||||
|
||||
extern menu_ctx_driver_t menu_ctx_ozone;
|
||||
extern menu_ctx_driver_t menu_ctx_xui;
|
||||
extern menu_ctx_driver_t menu_ctx_rgui;
|
||||
extern menu_ctx_driver_t menu_ctx_mui;
|
||||
extern menu_ctx_driver_t menu_ctx_xmb;
|
||||
extern menu_ctx_driver_t menu_ctx_stripes;
|
||||
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
|
|
Loading…
Reference in New Issue