From da53a4c683cb93d8fea01394c1bce77e188fa33d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 22 Mar 2015 23:44:58 +0100 Subject: [PATCH] Create video_driver_overlay_interface --- gfx/video_driver.c | 15 +++++++++++++++ gfx/video_driver.h | 2 ++ input/input_overlay.c | 4 +--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 1b2ddbc15b..a6ebc80431 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -784,3 +784,18 @@ bool video_driver_focus(void) return false; return driver->video->focus(driver->video_data); } + +bool video_driver_overlay_interface(const video_overlay_interface_t **iface) +{ + driver_t *driver = driver_get_ptr(); + + if (!driver) + return false; + if (!driver->video) + return false; + + if (driver->video && driver->video->overlay_interface) + driver->video->overlay_interface(driver->video_data, iface); + + return true; +} diff --git a/gfx/video_driver.h b/gfx/video_driver.h index 42b4beb67e..c17ede64cd 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -305,6 +305,8 @@ bool video_driver_set_shader(enum rarch_shader_type type, bool video_driver_focus(void); +bool video_driver_overlay_interface(const video_overlay_interface_t **iface); + #ifdef __cplusplus } #endif diff --git a/input/input_overlay.c b/input/input_overlay.c index 3327562469..fa1a31ec57 100644 --- a/input/input_overlay.c +++ b/input/input_overlay.c @@ -800,14 +800,12 @@ input_overlay_t *input_overlay_new(const char *path, bool enable, if (!ol->conf) goto error; - if (!driver->video->overlay_interface) + if (!video_driver_overlay_interface(&ol->iface)) { RARCH_ERR("Overlay interface is not present in video driver.\n"); goto error; } - if (driver->video && driver->video->overlay_interface) - driver->video->overlay_interface(driver->video_data, &ol->iface); ol->iface_data = driver->video_data; if (!ol->iface)