Create video_driver_set_texture_frame
This commit is contained in:
parent
e7ba750641
commit
56943ccb40
|
@ -700,3 +700,20 @@ void video_driver_set_texture_enable(bool enable, bool fullscreen)
|
||||||
enable, fullscreen);
|
enable, fullscreen);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void video_driver_set_texture_frame(const void *frame, bool rgb32,
|
||||||
|
unsigned width, unsigned height, float alpha)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_MENU
|
||||||
|
driver_t *driver = driver_get_ptr();
|
||||||
|
|
||||||
|
if (!driver->video_data)
|
||||||
|
return;
|
||||||
|
if (!driver->video_poke)
|
||||||
|
return;
|
||||||
|
if (!driver->video_poke->set_texture_frame)
|
||||||
|
return;
|
||||||
|
driver->video_poke->set_texture_frame(
|
||||||
|
driver->video_data, frame, rgb32, width, height, alpha);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
|
@ -293,6 +293,9 @@ void video_driver_set_osd_msg(const char *msg,
|
||||||
|
|
||||||
void video_driver_set_texture_enable(bool enable, bool full_screen);
|
void video_driver_set_texture_enable(bool enable, bool full_screen);
|
||||||
|
|
||||||
|
void video_driver_set_texture_frame(const void *frame, bool rgb32,
|
||||||
|
unsigned width, unsigned height, float alpha);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -591,24 +591,17 @@ static void rgui_set_texture(void)
|
||||||
{
|
{
|
||||||
menu_handle_t *menu = menu_driver_get_ptr();
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
runloop_t *runloop = rarch_main_get_ptr();
|
runloop_t *runloop = rarch_main_get_ptr();
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
|
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!driver->video_data)
|
|
||||||
return;
|
|
||||||
if (!driver->video_poke)
|
|
||||||
return;
|
|
||||||
if (!driver->video_poke->set_texture_frame)
|
|
||||||
return;
|
|
||||||
if (!runloop->frames.video.current.menu.framebuf.dirty)
|
if (!runloop->frames.video.current.menu.framebuf.dirty)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
runloop->frames.video.current.menu.framebuf.dirty = false;
|
runloop->frames.video.current.menu.framebuf.dirty = false;
|
||||||
|
|
||||||
driver->video_poke->set_texture_frame(driver->video_data,
|
video_driver_set_texture_frame(
|
||||||
menu->frame_buf.data, false, menu->frame_buf.width, menu->frame_buf.height, 1.0f);
|
menu->frame_buf.data, false,
|
||||||
|
menu->frame_buf.width, menu->frame_buf.height, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rgui_navigation_clear(bool pending_push)
|
static void rgui_navigation_clear(bool pending_push)
|
||||||
|
|
|
@ -281,27 +281,18 @@ static void rmenu_render(void)
|
||||||
static void rmenu_set_texture(void)
|
static void rmenu_set_texture(void)
|
||||||
{
|
{
|
||||||
menu_handle_t *menu = menu_driver_get_ptr();
|
menu_handle_t *menu = menu_driver_get_ptr();
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
|
|
||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
if (menu_texture_inited)
|
if (menu_texture_inited)
|
||||||
return;
|
return;
|
||||||
if (!driver->video_data)
|
|
||||||
return;
|
|
||||||
if (!driver->video_poke)
|
|
||||||
return;
|
|
||||||
if (!driver->video_poke->set_texture_enable)
|
|
||||||
return;
|
|
||||||
if (!menu_texture)
|
if (!menu_texture)
|
||||||
return;
|
return;
|
||||||
if (!menu_texture->pixels)
|
if (!menu_texture->pixels)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
driver->video_poke->set_texture_frame(
|
video_driver_set_texture_frame(menu_texture.pixels, true,
|
||||||
driver->video_data,
|
menu->frame_buf.width, menu->frame_buf.height, 1.0f);
|
||||||
menu_texture->pixels,
|
|
||||||
true, menu->frame_buf.width, menu->frame_buf.height, 1.0f);
|
|
||||||
menu_texture_inited = true;
|
menu_texture_inited = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -351,9 +351,7 @@ static void* rmenu_xui_init(void)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (driver->video_data && driver->video_poke
|
video_driver_set_texture_frame(NULL,
|
||||||
&& driver->video_poke->set_texture_enable)
|
|
||||||
driver->video_poke->set_texture_frame(driver->video_data, NULL,
|
|
||||||
true, 0, 0, 1.0f);
|
true, 0, 0, 1.0f);
|
||||||
|
|
||||||
xui_msg_queue = msg_queue_new(16);
|
xui_msg_queue = msg_queue_new(16);
|
||||||
|
|
Loading…
Reference in New Issue