mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
(Metal) Add menu widget support
This commit is contained in:
parent
4b2fdfad48
commit
f49b6e26a0
@ -16,6 +16,13 @@
|
|||||||
#include <simd/simd.h>
|
#include <simd/simd.h>
|
||||||
#import "Context.h"
|
#import "Context.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
#import "../../menu/menu_driver.h"
|
||||||
|
#ifdef HAVE_MENU_WIDGETS
|
||||||
|
#import "../../menu/widgets/menu_widgets.h"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#define STRUCT_ASSIGN(x, y) \
|
#define STRUCT_ASSIGN(x, y) \
|
||||||
{ \
|
{ \
|
||||||
NSObject * __y = y; \
|
NSObject * __y = y; \
|
||||||
@ -284,6 +291,12 @@
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
#ifdef HAVE_MENU_WIDGETS
|
||||||
|
menu_widgets_frame(video_info);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
if (msg && *msg)
|
if (msg && *msg)
|
||||||
[self _renderMessage:msg info:video_info];
|
[self _renderMessage:msg info:video_info];
|
||||||
|
|
||||||
|
@ -37,6 +37,9 @@
|
|||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
#import "../../menu/menu_driver.h"
|
#import "../../menu/menu_driver.h"
|
||||||
|
#ifdef HAVE_MENU_WIDGETS
|
||||||
|
#import "../../menu/widgets/menu_widgets.h"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#import "../font_driver.h"
|
#import "../font_driver.h"
|
||||||
@ -419,23 +422,36 @@ static void metal_get_overlay_interface(void *data,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
video_driver_t video_metal = {
|
#if defined(HAVE_MENU) && defined(HAVE_MENU_WIDGETS)
|
||||||
.init = metal_init,
|
static bool metal_menu_widgets_enabled(void *data)
|
||||||
.frame = metal_frame,
|
{
|
||||||
.set_nonblock_state = metal_set_nonblock_state,
|
(void)data;
|
||||||
.alive = metal_alive,
|
return true;
|
||||||
.has_windowed = metal_has_windowed,
|
}
|
||||||
.focus = metal_focus,
|
#endif
|
||||||
.suppress_screensaver = metal_suppress_screensaver,
|
|
||||||
.set_shader = metal_set_shader,
|
video_driver_t video_metal = {
|
||||||
.free = metal_free,
|
metal_init,
|
||||||
.ident = "metal",
|
metal_frame,
|
||||||
.set_viewport = metal_set_viewport,
|
metal_set_nonblock_state,
|
||||||
.set_rotation = metal_set_rotation,
|
metal_alive,
|
||||||
.viewport_info = metal_viewport_info,
|
metal_focus,
|
||||||
.read_viewport = metal_read_viewport,
|
metal_suppress_screensaver,
|
||||||
#ifdef HAVE_OVERLAY
|
metal_has_windowed,
|
||||||
.overlay_interface = metal_get_overlay_interface,
|
metal_set_shader,
|
||||||
|
metal_free,
|
||||||
|
"metal",
|
||||||
|
metal_set_viewport,
|
||||||
|
metal_set_rotation,
|
||||||
|
metal_viewport_info,
|
||||||
|
metal_read_viewport,
|
||||||
|
NULL, /* read_frame_raw */
|
||||||
|
#ifdef HAVE_OVERLAY
|
||||||
|
metal_get_overlay_interface,
|
||||||
|
#endif
|
||||||
|
metal_get_poke_interface,
|
||||||
|
NULL, /* metal_wrap_type_to_enum */
|
||||||
|
#if defined(HAVE_MENU) && defined(HAVE_MENU_WIDGETS)
|
||||||
|
metal_menu_widgets_enabled
|
||||||
#endif
|
#endif
|
||||||
.poke_interface = metal_get_poke_interface,
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user