summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 0ef7158..64dde4d 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1019,7 +1019,7 @@ void reset_render_context(ASS_Renderer *render_priv, ASS_Style *style)
render_priv->state.shadow_x = style->Shadow;
render_priv->state.shadow_y = style->Shadow;
render_priv->state.frx = render_priv->state.fry = 0.;
- render_priv->state.frz = M_PI * style->Angle / 180.;
+ render_priv->state.frz = style->Angle;
render_priv->state.fax = render_priv->state.fay = 0.;
render_priv->state.font_encoding = style->Encoding;
}
@@ -1248,9 +1248,13 @@ size_t ass_outline_construct(void *key, void *value, void *priv)
static void calc_transform_matrix(ASS_Renderer *render_priv,
GlyphInfo *info, double m[3][3])
{
- double sx = -sin(info->frx), cx = cos(info->frx);
- double sy = sin(info->fry), cy = cos(info->fry);
- double sz = -sin(info->frz), cz = cos(info->frz);
+ double frx = M_PI / 180 * info->frx;
+ double fry = M_PI / 180 * info->fry;
+ double frz = M_PI / 180 * info->frz;
+
+ double sx = -sin(frx), cx = cos(frx);
+ double sy = sin(fry), cy = cos(fry);
+ double sz = -sin(frz), cz = cos(frz);
double fax = info->fax * info->scale_x / info->scale_y;
double fay = info->fay * info->scale_y / info->scale_x;