mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 18:40:49 +00:00
Hide 'Take Screenshot' for video drivers that don't support
taking screenshots yet
This commit is contained in:
parent
8094e02823
commit
a0b2d97ca3
@ -1215,8 +1215,17 @@ static void ctr_set_osd_msg(void *data,
|
||||
font_driver_render_msg(video_info, font, msg, params);
|
||||
}
|
||||
|
||||
static uint32_t ctr_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t ctr_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
ctr_get_flags,
|
||||
ctr_load_texture,
|
||||
ctr_unload_texture,
|
||||
NULL,
|
||||
|
@ -2045,6 +2045,7 @@ static uint32_t d3d9_get_flags(void *data)
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_BLACK_FRAME_INSERTION);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -629,8 +629,15 @@ static void gdi_unload_texture(void *data, uintptr_t handle)
|
||||
free(texture);
|
||||
}
|
||||
|
||||
static uint32_t gdi_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t gdi_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
gdi_get_flags,
|
||||
gdi_load_texture,
|
||||
gdi_unload_texture,
|
||||
gdi_set_video_mode,
|
||||
|
@ -4161,6 +4161,7 @@ static uint32_t gl2_get_flags(void *data)
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_HARD_SYNC);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_BLACK_FRAME_INSERTION);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -1730,6 +1730,7 @@ static uint32_t gl_core_get_flags(void *data)
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_BLACK_FRAME_INSERTION);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -1714,6 +1714,7 @@ static uint32_t wiiu_gfx_get_flags(void *data)
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -1263,8 +1263,17 @@ static void gx_get_video_output_next(void *data)
|
||||
global->console.screen.resolutions.current.id++;
|
||||
}
|
||||
|
||||
static uint32_t gx_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t gx_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
gx_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
gx_set_video_mode,
|
||||
|
@ -322,6 +322,7 @@ static uint32_t metal_get_flags(void *data)
|
||||
#if defined(HAVE_SLANG) && defined(HAVE_SPIRV_CROSS)
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
|
||||
#endif
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -830,8 +830,17 @@ static void psp_viewport_info(void *data, struct video_viewport *vp)
|
||||
*vp = psp->vp;
|
||||
}
|
||||
|
||||
static uint32_t psp_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t psp_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
psp_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -724,8 +724,15 @@ static void sdl2_grab_mouse_toggle(void *data)
|
||||
SDL_SetWindowGrab(vid->window, SDL_GetWindowGrab(vid->window));
|
||||
}
|
||||
|
||||
static uint32_t sdl2_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static video_poke_interface_t sdl2_video_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
sdl2_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -516,8 +516,17 @@ static void sdl_grab_mouse_toggle(void *data)
|
||||
SDL_WM_GrabInput(mode == SDL_GRAB_ON ? SDL_GRAB_OFF : SDL_GRAB_ON);
|
||||
}
|
||||
|
||||
static uint32_t sdl_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t sdl_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
sdl_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -389,8 +389,15 @@ static void vga_set_osd_msg(void *data,
|
||||
font_driver_render_msg(video_info, font, msg, params);
|
||||
}
|
||||
|
||||
static uint32_t vga_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t vga_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
vga_gfx_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -788,8 +788,17 @@ static bool vita_get_current_sw_framebuffer(void *data,
|
||||
return true;
|
||||
}
|
||||
|
||||
static uint32_t vita_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static const video_poke_interface_t vita_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
vita_get_flags,
|
||||
vita_load_texture,
|
||||
vita_unload_texture,
|
||||
NULL,
|
||||
|
@ -2401,6 +2401,7 @@ static uint32_t vulkan_get_flags(void *data)
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_BLACK_FRAME_INSERTION);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_MENU_FRAME_FILTERING);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SHADERS_SLANG);
|
||||
BIT32_SET(flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED);
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
@ -934,8 +934,15 @@ static bool xv_read_viewport(void *data, uint8_t *buffer, bool is_idle)
|
||||
return true;
|
||||
}
|
||||
|
||||
static uint32_t xv_get_flags(void *data)
|
||||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
static video_poke_interface_t xv_video_poke_interface = {
|
||||
NULL, /* get_flags */
|
||||
xv_get_flags,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -125,7 +125,8 @@ enum display_flags
|
||||
GFX_CTX_FLAGS_SHADERS_GLSL,
|
||||
GFX_CTX_FLAGS_SHADERS_CG,
|
||||
GFX_CTX_FLAGS_SHADERS_HLSL,
|
||||
GFX_CTX_FLAGS_SHADERS_SLANG
|
||||
GFX_CTX_FLAGS_SHADERS_SLANG,
|
||||
GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED
|
||||
};
|
||||
|
||||
enum shader_uniform_type
|
||||
|
@ -1801,11 +1801,14 @@ static int menu_displaylist_parse_load_content_settings(
|
||||
|
||||
if (settings->bools.quick_menu_show_take_screenshot)
|
||||
{
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT),
|
||||
MENU_ENUM_LABEL_TAKE_SCREENSHOT,
|
||||
MENU_SETTING_ACTION_SCREENSHOT, 0, 0);
|
||||
gfx_ctx_flags_t flags;
|
||||
|
||||
if (video_driver_get_all_flags(&flags, GFX_CTX_FLAGS_SCREENSHOTS_SUPPORTED))
|
||||
menu_entries_append_enum(info->list,
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_TAKE_SCREENSHOT),
|
||||
MENU_ENUM_LABEL_TAKE_SCREENSHOT,
|
||||
MENU_SETTING_ACTION_SCREENSHOT, 0, 0);
|
||||
}
|
||||
|
||||
if (settings->bools.quick_menu_show_save_load_state
|
||||
|
Loading…
x
Reference in New Issue
Block a user