diff options
author | Grigori Goronzy <greg@blackbox> | 2010-07-22 19:06:46 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2010-07-22 19:06:46 +0200 |
commit | 3e53f1cf3db9b5e41a7f6e15605607b91892e351 (patch) | |
tree | d610c4aa0262a141fa38f8085f078deb1feb1e6f | |
parent | c59f2ba8dc58a2feef4fd7230d48eae19e81451f (diff) | |
download | libass-3e53f1cf3db9b5e41a7f6e15605607b91892e351.tar.bz2 libass-3e53f1cf3db9b5e41a7f6e15605607b91892e351.tar.xz |
refactor: move position translation functions
Gets rid of a few forward declarations.
-rw-r--r-- | libass/ass_render.c | 106 |
1 files changed, 51 insertions, 55 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index e9ea536..f013591 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -211,9 +211,57 @@ static ASS_Image *my_draw_bitmap(unsigned char *bitmap, int bitmap_w, return img; } -static double x2scr_pos(ASS_Renderer *render_priv, double x); -static double x2scr_pos_scaled(ASS_Renderer *render_priv, double x); -static double y2scr_pos(ASS_Renderer *render_priv, double y); +/** + * \brief Mapping between script and screen coordinates + */ +static double x2scr(ASS_Renderer *render_priv, double x) +{ + return x * render_priv->orig_width_nocrop / render_priv->font_scale_x / + render_priv->track->PlayResX + + FFMAX(render_priv->settings.left_margin, 0); +} +static double x2scr_pos(ASS_Renderer *render_priv, double x) +{ + return x * render_priv->orig_width / render_priv->font_scale_x / render_priv->track->PlayResX + + render_priv->settings.left_margin; +} +static double x2scr_scaled(ASS_Renderer *render_priv, double x) +{ + return x * render_priv->orig_width_nocrop / + render_priv->track->PlayResX + + FFMAX(render_priv->settings.left_margin, 0); +} +static double x2scr_pos_scaled(ASS_Renderer *render_priv, double x) +{ + return x * render_priv->orig_width / render_priv->track->PlayResX + + render_priv->settings.left_margin; +} +/** + * \brief Mapping between script and screen coordinates + */ +static double y2scr(ASS_Renderer *render_priv, double y) +{ + return y * render_priv->orig_height_nocrop / + render_priv->track->PlayResY + + FFMAX(render_priv->settings.top_margin, 0); +} +static double y2scr_pos(ASS_Renderer *render_priv, double y) +{ + return y * render_priv->orig_height / render_priv->track->PlayResY + + render_priv->settings.top_margin; +} + +// the same for toptitles +static double y2scr_top(ASS_Renderer *render_priv, double y) +{ + if (render_priv->settings.use_margins) + return y * render_priv->orig_height_nocrop / + render_priv->track->PlayResY; + else + return y * render_priv->orig_height_nocrop / + render_priv->track->PlayResY + + FFMAX(render_priv->settings.top_margin, 0); +} /* * \brief Convert bitmap glyphs into ASS_Image list with inverse clipping @@ -733,58 +781,6 @@ static ASS_Image *render_text(ASS_Renderer *render_priv, int dst_x, return head; } -/** - * \brief Mapping between script and screen coordinates - */ -static double x2scr(ASS_Renderer *render_priv, double x) -{ - return x * render_priv->orig_width_nocrop / render_priv->font_scale_x / - render_priv->track->PlayResX + - FFMAX(render_priv->settings.left_margin, 0); -} -static double x2scr_pos(ASS_Renderer *render_priv, double x) -{ - return x * render_priv->orig_width / render_priv->font_scale_x / render_priv->track->PlayResX + - render_priv->settings.left_margin; -} -static double x2scr_scaled(ASS_Renderer *render_priv, double x) -{ - return x * render_priv->orig_width_nocrop / - render_priv->track->PlayResX + - FFMAX(render_priv->settings.left_margin, 0); -} -static double x2scr_pos_scaled(ASS_Renderer *render_priv, double x) -{ - return x * render_priv->orig_width / render_priv->track->PlayResX + - render_priv->settings.left_margin; -} -/** - * \brief Mapping between script and screen coordinates - */ -static double y2scr(ASS_Renderer *render_priv, double y) -{ - return y * render_priv->orig_height_nocrop / - render_priv->track->PlayResY + - FFMAX(render_priv->settings.top_margin, 0); -} -static double y2scr_pos(ASS_Renderer *render_priv, double y) -{ - return y * render_priv->orig_height / render_priv->track->PlayResY + - render_priv->settings.top_margin; -} - -// the same for toptitles -static double y2scr_top(ASS_Renderer *render_priv, double y) -{ - if (render_priv->settings.use_margins) - return y * render_priv->orig_height_nocrop / - render_priv->track->PlayResY; - else - return y * render_priv->orig_height_nocrop / - render_priv->track->PlayResY + - FFMAX(render_priv->settings.top_margin, 0); -} - // the same for subtitles static double y2scr_sub(ASS_Renderer *render_priv, double y) { |