diff options
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 12 |
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; |