summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2022-07-26 22:07:14 -0500
committerrcombs <rcombs@rcombs.me>2022-11-15 21:14:37 -0600
commit04d48faa652fe649a3d664b1640acfcea7f4b3e0 (patch)
tree7f8263f2afb0876a90830807794b0164b7d0a781
parent5cda37139d0a55484893f23f874f38329cfdabb9 (diff)
downloadlibass-04d48faa652fe649a3d664b1640acfcea7f4b3e0.tar.bz2
libass-04d48faa652fe649a3d664b1640acfcea7f4b3e0.tar.xz
ass_render: take RenderContext* in handle_selective_style_overrides()
-rw-r--r--libass/ass_render.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index d69cfcb..d155909 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -871,16 +871,17 @@ static void compute_string_bbox(TextInfo *text, ASS_DRect *bbox)
bbox->x_min = bbox->x_max = bbox->y_min = bbox->y_max = 0;
}
-static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
+static ASS_Style *handle_selective_style_overrides(RenderContext *state,
ASS_Style *rstyle)
{
// The script style is the one the event was declared with.
+ ASS_Renderer *render_priv = state->renderer;
ASS_Style *script = render_priv->track->styles +
- render_priv->state.event->Style;
+ state->event->Style;
// The user style was set with ass_set_selective_style_override().
ASS_Style *user = &render_priv->user_override_style;
- ASS_Style *new = &render_priv->state.override_style_temp_storage;
- int explicit = render_priv->state.explicit;
+ ASS_Style *new = &state->override_style_temp_storage;
+ int explicit = state->explicit;
int requested = render_priv->settings.selective_style_overrides;
double scale;
@@ -895,7 +896,7 @@ static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
// script's style that are deemed necessary.
*new = *rstyle;
- render_priv->state.apply_font_scale =
+ state->apply_font_scale =
!explicit || !(requested & ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE);
// On positioned events, do not apply most overrides.
@@ -965,8 +966,8 @@ static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
if (!new->FontName)
new->FontName = rstyle->FontName;
- render_priv->state.style = new;
- render_priv->state.overrides = requested;
+ state->style = new;
+ state->overrides = requested;
return new;
}
@@ -1034,7 +1035,7 @@ static void init_font_scale(ASS_Renderer *render_priv)
*/
void ass_reset_render_context(ASS_Renderer *render_priv, ASS_Style *style)
{
- style = handle_selective_style_overrides(render_priv, style);
+ style = handle_selective_style_overrides(&render_priv->state, style);
init_font_scale(render_priv);