(API Change) libobs: Use single func for base effects
API removed: -------------------- gs_effect_t *obs_get_default_effect(void); gs_effect_t *obs_get_default_rect_effect(void); gs_effect_t *obs_get_opaque_effect(void); gs_effect_t *obs_get_solid_effect(void); gs_effect_t *obs_get_bicubic_effect(void); gs_effect_t *obs_get_lanczos_effect(void); gs_effect_t *obs_get_bilinear_lowres_effect(void); API added: -------------------- gs_effect_t *obs_get_base_effect(enum obs_base_effect effect); Summary: -------------------- Combines multiple near-identical functions into a single function with an enum parameter.
This commit is contained in:
@@ -210,38 +210,3 @@ void dc_capture_render(struct dc_capture *capture, gs_effect_t *effect)
|
||||
if (capture->textures_written[last_tex])
|
||||
draw_texture(capture, last_tex, effect);
|
||||
}
|
||||
|
||||
gs_effect_t *create_opaque_effect(void)
|
||||
{
|
||||
gs_effect_t *opaque_effect;
|
||||
char *effect_file;
|
||||
char *error_string = NULL;
|
||||
|
||||
effect_file = obs_module_file("opaque.effect");
|
||||
if (!effect_file) {
|
||||
blog(LOG_ERROR, "[create_opaque_effect] Could not find "
|
||||
"opaque effect file");
|
||||
return false;
|
||||
}
|
||||
|
||||
obs_enter_graphics();
|
||||
|
||||
opaque_effect = gs_effect_create_from_file(effect_file, &error_string);
|
||||
|
||||
if (!opaque_effect) {
|
||||
if (error_string)
|
||||
blog(LOG_ERROR, "[create_opaque_effect] Failed to "
|
||||
"create opaque effect:\n%s",
|
||||
error_string);
|
||||
else
|
||||
blog(LOG_ERROR, "[create_opaque_effect] Failed to "
|
||||
"create opaque effect");
|
||||
}
|
||||
|
||||
bfree(effect_file);
|
||||
bfree(error_string);
|
||||
|
||||
obs_leave_graphics();
|
||||
|
||||
return opaque_effect;
|
||||
}
|
||||
|
@@ -35,5 +35,3 @@ extern void dc_capture_free(struct dc_capture *capture);
|
||||
|
||||
extern void dc_capture_capture(struct dc_capture *capture, HWND window);
|
||||
extern void dc_capture_render(struct dc_capture *capture, gs_effect_t *effect);
|
||||
|
||||
extern gs_effect_t *create_opaque_effect(void);
|
||||
|
@@ -195,7 +195,7 @@ static void duplicator_capture_render(void *data, gs_effect_t *effect)
|
||||
if (!texture)
|
||||
return;
|
||||
|
||||
effect = obs_get_opaque_effect();
|
||||
effect = obs_get_base_effect(OBS_EFFECT_OPAQUE);
|
||||
|
||||
rot = capture->rot;
|
||||
|
||||
@@ -229,7 +229,7 @@ static void duplicator_capture_render(void *data, gs_effect_t *effect)
|
||||
}
|
||||
|
||||
if (capture->capture_cursor) {
|
||||
effect = obs_get_default_effect();
|
||||
effect = obs_get_base_effect(OBS_EFFECT_DEFAULT);
|
||||
|
||||
while (gs_effect_loop(effect, "Draw")) {
|
||||
draw_cursor(capture);
|
||||
|
@@ -1349,8 +1349,8 @@ static void game_capture_render(void *data, gs_effect_t *effect)
|
||||
if (!gc->texture)
|
||||
return;
|
||||
|
||||
effect = gc->config.allow_transparency ?
|
||||
obs_get_default_effect() : obs_get_opaque_effect();
|
||||
effect = obs_get_base_effect(gc->config.allow_transparency ?
|
||||
OBS_EFFECT_DEFAULT : OBS_EFFECT_OPAQUE);
|
||||
|
||||
while (gs_effect_loop(effect, "Draw")) {
|
||||
obs_source_draw(gc->texture, 0, 0, 0, 0,
|
||||
@@ -1362,7 +1362,7 @@ static void game_capture_render(void *data, gs_effect_t *effect)
|
||||
}
|
||||
|
||||
if (!gc->config.allow_transparency && gc->config.cursor) {
|
||||
effect = obs_get_default_effect();
|
||||
effect = obs_get_base_effect(OBS_EFFECT_DEFAULT);
|
||||
|
||||
while (gs_effect_loop(effect, "Draw")) {
|
||||
game_capture_render_cursor(gc);
|
||||
|
@@ -147,7 +147,8 @@ static void monitor_capture_tick(void *data, float seconds)
|
||||
static void monitor_capture_render(void *data, gs_effect_t *effect)
|
||||
{
|
||||
struct monitor_capture *capture = data;
|
||||
dc_capture_render(&capture->data, obs_get_opaque_effect());
|
||||
dc_capture_render(&capture->data,
|
||||
obs_get_base_effect(OBS_EFFECT_OPAQUE));
|
||||
|
||||
UNUSED_PARAMETER(effect);
|
||||
}
|
||||
|
@@ -190,7 +190,7 @@ static void wc_tick(void *data, float seconds)
|
||||
static void wc_render(void *data, gs_effect_t *effect)
|
||||
{
|
||||
struct window_capture *wc = data;
|
||||
dc_capture_render(&wc->capture, obs_get_opaque_effect());
|
||||
dc_capture_render(&wc->capture, obs_get_base_effect(OBS_EFFECT_OPAQUE));
|
||||
|
||||
UNUSED_PARAMETER(effect);
|
||||
}
|
||||
|
Reference in New Issue
Block a user