(OSX) Refactor this so that we always set the userdata

pointer so we can use the new set_title codepaths - will
have to check how to reduce the overhead in nsview_get_ptr
later
This commit is contained in:
Twinaphex 2019-09-22 10:19:03 +02:00
parent ae21bd98aa
commit 6a9feb7978
2 changed files with 27 additions and 14 deletions

View File

@ -349,13 +349,7 @@ float cocoagl_gfx_ctx_get_native_scale(void)
static void cocoagl_gfx_ctx_update_title(void *data, void *data2)
{
const ui_window_t *window = ui_companion_driver_get_window_ptr();
#if defined(HAVE_COCOA)
void *_data = (CocoaView*)nsview_get_ptr();
#elif defined(HAVE_COCOA_METAL)
void *_data = (BRIDGE void *)apple_platform.renderView;
#endif
if (window)
{
char title[128];
@ -365,7 +359,7 @@ static void cocoagl_gfx_ctx_update_title(void *data, void *data2)
video_driver_get_window_title(title, sizeof(title));
if (title[0])
window->set_title(_data, title);
window->set_title((void*)video_driver_display_userdata_get(), title);
}
}
#endif

View File

@ -56,6 +56,15 @@ static CocoaView* g_instance;
void *nsview_get_ptr(void)
{
#if defined(HAVE_COCOA)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)g_instance);
#elif defined(HAVE_COCOA_METAL)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)g_instance);
#endif
return (BRIDGE void *)g_instance;
}
@ -91,13 +100,13 @@ void *glkitview_init(void);
g_instance = [CocoaView new];
#if defined(HAVE_COCOA)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)g_instance);
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)g_instance);
#elif defined(HAVE_COCOA_METAL)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)apple_platform.renderView);
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)g_instance);
#endif
return g_instance;
@ -127,6 +136,16 @@ void *glkitview_init(void);
[self.view addGestureRecognizer:swipe];
#endif
#endif
#if defined(HAVE_COCOA)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)self);
#elif defined(HAVE_COCOA_METAL)
video_driver_display_type_set(RARCH_DISPLAY_OSX);
video_driver_display_set(0);
video_driver_display_userdata_set((uintptr_t)self);
#endif
return self;
}