summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2022-11-11 16:03:24 -0600
committerrcombs <rcombs@rcombs.me>2022-11-15 21:14:37 -0600
commit51ebe4e7881ec66827f52f9d9af390eb011fe0ce (patch)
treee1d89dee63dcfbeb0ed056bca1c92a93251f4ad3
parent414b3e5f455896bede3401e7b6a84937e014620e (diff)
downloadlibass-51ebe4e7881ec66827f52f9d9af390eb011fe0ce.tar.bz2
libass-51ebe4e7881ec66827f52f9d9af390eb011fe0ce.tar.xz
ass_parse: take RenderContext* in get_next_char()
-rw-r--r--libass/ass_parse.c4
-rw-r--r--libass/ass_parse.h2
-rw-r--r--libass/ass_render.c3
3 files changed, 5 insertions, 4 deletions
diff --git a/libass/ass_parse.c b/libass/ass_parse.c
index db17d5d..6ef4a06 100644
--- a/libass/ass_parse.c
+++ b/libass/ass_parse.c
@@ -1110,7 +1110,7 @@ void ass_process_karaoke_effects(ASS_Renderer *render_priv)
* \return ucs4 code of the next char
* On return str points to the unparsed part of the string
*/
-unsigned ass_get_next_char(ASS_Renderer *render_priv, char **str)
+unsigned ass_get_next_char(RenderContext *state, char **str)
{
char *p = *str;
unsigned chr;
@@ -1121,7 +1121,7 @@ unsigned ass_get_next_char(ASS_Renderer *render_priv, char **str)
}
if (*p == '\\') {
if ((p[1] == 'N') || ((p[1] == 'n') &&
- (render_priv->state.wrap_style == 2))) {
+ (state->wrap_style == 2))) {
p += 2;
*str = p;
return '\n';
diff --git a/libass/ass_parse.h b/libass/ass_parse.h
index 11172fe..bf6f1b8 100644
--- a/libass/ass_parse.h
+++ b/libass/ass_parse.h
@@ -31,7 +31,7 @@
void ass_update_font(RenderContext *state);
void ass_apply_transition_effects(RenderContext *state);
void ass_process_karaoke_effects(ASS_Renderer *render_priv);
-unsigned ass_get_next_char(ASS_Renderer *render_priv, char **str);
+unsigned ass_get_next_char(RenderContext *state, char **str);
char *ass_parse_tags(ASS_Renderer *render_priv, char *p, char *end, double pwr,
bool nested);
int ass_event_has_hard_overrides(char *str);
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 2678d84..bf9e1eb 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -2033,6 +2033,7 @@ static void split_style_runs(ASS_Renderer *render_priv)
static bool parse_events(ASS_Renderer *render_priv, ASS_Event *event)
{
TextInfo *text_info = &render_priv->text_info;
+ RenderContext *state = &render_priv->state;
char *p = event->Text, *q;
@@ -2060,7 +2061,7 @@ static bool parse_events(ASS_Renderer *render_priv, ASS_Event *event)
p = q;
break;
} else {
- code = ass_get_next_char(render_priv, &p);
+ code = ass_get_next_char(state, &p);
break;
}
}