mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
Create video_driver_display_userdata_{set/get}
This commit is contained in:
parent
464df18ac2
commit
c7fd375120
@ -992,6 +992,7 @@ bool win32_window_create(void *data, unsigned style,
|
||||
|
||||
video_driver_display_type_set(RARCH_DISPLAY_WIN32);
|
||||
video_driver_display_set(0);
|
||||
video_driver_display_userdata_set((uintptr_t)&main_window);
|
||||
video_driver_window_set((uintptr_t)main_window.hwnd);
|
||||
|
||||
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0500 /* 2K */
|
||||
|
@ -221,6 +221,7 @@ static void sdl2_gfx_set_handles(sdl2_video_t *vid)
|
||||
if (SDL_GetWindowWMInfo(vid->window, &info) != 1)
|
||||
return;
|
||||
|
||||
video_driver_display_userdata_set((uintptr_t)vid->window);
|
||||
#if defined(_WIN32)
|
||||
video_driver_display_type_set(RARCH_DISPLAY_WIN32);
|
||||
video_driver_display_set(0);
|
||||
@ -522,7 +523,7 @@ static bool sdl2_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
video_driver_get_window_title(title, sizeof(title));
|
||||
|
||||
if (title[0])
|
||||
SDL_SetWindowTitle(vid->window, title);
|
||||
SDL_SetWindowTitle((SDL_Window*)video_driver_display_userdata_get(), title);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
12
retroarch.c
12
retroarch.c
@ -1436,6 +1436,7 @@ static gfx_api_gpu_map gpu_map[] = {
|
||||
* Used by e.g. input drivers which bind to a window.
|
||||
* Drivers are responsible for setting these if an input driver
|
||||
* could potentially make use of this. */
|
||||
static uintptr_t video_driver_display_userdata = 0;
|
||||
static uintptr_t video_driver_display = 0;
|
||||
static uintptr_t video_driver_window = 0;
|
||||
|
||||
@ -18034,6 +18035,7 @@ static bool video_driver_init_internal(bool *video_is_threaded)
|
||||
|
||||
video_driver_display_type_set(RARCH_DISPLAY_NONE);
|
||||
video_driver_display_set(0);
|
||||
video_driver_display_userdata_set(0);
|
||||
video_driver_window_set(0);
|
||||
|
||||
if (!video_driver_pixel_converter_init(RARCH_SCALE_BASE * scale))
|
||||
@ -19383,6 +19385,16 @@ uintptr_t video_driver_display_get(void)
|
||||
return video_driver_display;
|
||||
}
|
||||
|
||||
uintptr_t video_driver_display_userdata_get(void)
|
||||
{
|
||||
return video_driver_display_userdata;
|
||||
}
|
||||
|
||||
void video_driver_display_userdata_set(uintptr_t idx)
|
||||
{
|
||||
video_driver_display_userdata = idx;
|
||||
}
|
||||
|
||||
void video_driver_display_set(uintptr_t idx)
|
||||
{
|
||||
video_driver_display = idx;
|
||||
|
@ -1786,6 +1786,8 @@ bool video_driver_translate_coord_viewport(
|
||||
int16_t *res_x, int16_t *res_y, int16_t *res_screen_x,
|
||||
int16_t *res_screen_y);
|
||||
|
||||
uintptr_t video_driver_display_userdata_get(void);
|
||||
|
||||
uintptr_t video_driver_display_get(void);
|
||||
|
||||
enum rarch_display_type video_driver_display_type_get(void);
|
||||
@ -1796,6 +1798,8 @@ void video_driver_display_type_set(enum rarch_display_type type);
|
||||
|
||||
void video_driver_display_set(uintptr_t idx);
|
||||
|
||||
void video_driver_display_userdata_set(uintptr_t idx);
|
||||
|
||||
void video_driver_window_set(uintptr_t idx);
|
||||
|
||||
uintptr_t video_driver_window_get(void);
|
||||
|
Loading…
x
Reference in New Issue
Block a user