[vlc-commits] quartztext: fix relative font size handling

Felix Paul Kühne git at videolan.org
Wed Sep 11 18:25:24 CEST 2013


vlc/vlc-2.1 | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sun Aug  4 19:50:19 2013 +0200| [8d7bf81ee360975c4b5e2ed62143957b47e172a3] | committer: Felix Paul Kühne

quartztext: fix relative font size handling

(cherry picked from commit ef8b3a7b0d07fd154fe68fecc22449bdb6781278)

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.1.git/?a=commit;h=8d7bf81ee360975c4b5e2ed62143957b47e172a3
---

 modules/text_renderer/quartztext.c |   17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/modules/text_renderer/quartztext.c b/modules/text_renderer/quartztext.c
index 4b25caa..eb5da4a 100644
--- a/modules/text_renderer/quartztext.c
+++ b/modules/text_renderer/quartztext.c
@@ -205,7 +205,7 @@ static int Create(vlc_object_t *p_this)
     p_sys->psz_font_name  = var_CreateGetString(p_this, "quartztext-font");
     p_sys->i_font_opacity = 255;
     p_sys->i_font_color = VLC_CLIP(var_CreateGetInteger(p_this, "quartztext-color") , 0, 0xFFFFFF);
-    p_sys->i_font_size    = GetFontSize(p_filter);
+    p_sys->i_font_size = GetFontSize(p_filter);
 
     p_filter->pf_render_text = RenderText;
     p_filter->pf_render_html = RenderHtml;
@@ -317,7 +317,7 @@ static int RenderText(filter_t *p_filter, subpicture_region_t *p_region_out,
     b_bold = b_uline = b_italic = FALSE;
     VLC_UNUSED(p_chroma_list);
 
-    p_sys->i_font_size    = GetFontSize(p_filter);
+    p_sys->i_font_size = GetFontSize(p_filter);
 
     // Sanity check
     if (!p_region_in || !p_region_out)
@@ -950,7 +950,18 @@ static offscreen_bitmap_t *Compose(int i_text_align,
 
 static int GetFontSize(filter_t *p_filter)
 {
-    return p_filter->fmt_out.video.i_height / DEFAULT_REL_FONT_SIZE;
+    int i_size = 0;
+
+    int i_ratio = var_CreateGetInteger( p_filter, "quartztext-rel-fontsize" );
+    if( i_ratio > 0 )
+        i_size = (int)p_filter->fmt_out.video.i_height / i_ratio;
+
+    if( i_size <= 0 )
+    {
+        msg_Warn( p_filter, "invalid fontsize, using 12" );
+        i_size = 12;
+    }
+    return i_size;
 }
 
 static int RenderYUVA(filter_t *p_filter, subpicture_region_t *p_region,



More information about the vlc-commits mailing list