[vlc-commits] freetype: update default font only if size has really changed
Francois Cartegnie
git at videolan.org
Mon Aug 17 23:43:05 CEST 2020
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Aug 12 19:51:28 2020 +0200| [a09e61e6076c2fff904681b14134a68fd8483fcb] | committer: Francois Cartegnie
freetype: update default font only if size has really changed
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a09e61e6076c2fff904681b14134a68fd8483fcb
---
modules/text_renderer/freetype/freetype.c | 16 +++++++++-------
modules/text_renderer/freetype/freetype.h | 1 +
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/modules/text_renderer/freetype/freetype.c b/modules/text_renderer/freetype/freetype.c
index d65e22bc6d..ee5212ff39 100644
--- a/modules/text_renderer/freetype/freetype.c
+++ b/modules/text_renderer/freetype/freetype.c
@@ -1163,14 +1163,16 @@ static int Render( filter_t *p_filter, subpicture_region_t *p_region_out,
UpdateDefaultLiveStyles( p_filter );
- /*
- * Update the default face to reflect changes in video size or text scaling
- */
- p_sys->p_face = SelectAndLoadFace( p_filter, p_sys->p_default_style, ' ' );
- if( !p_sys->p_face )
+ int i_font_default_size = ConvertToLiveSize( p_filter, p_sys->p_default_style );
+ if( !p_sys->p_face || i_font_default_size != p_sys->i_font_default_size )
{
- msg_Err( p_filter, "Render(): Error loading default face" );
- return VLC_EGENERIC;
+ /* Update the default face to reflect changes in video size or text scaling */
+ p_sys->p_face = SelectAndLoadFace( p_filter, p_sys->p_default_style, ' ' );
+ if( !p_sys->p_face )
+ {
+ msg_Err( p_filter, "Render(): Error loading default face" );
+ return VLC_EGENERIC;
+ }
}
layout_text_block_t text_block = { 0 };
diff --git a/modules/text_renderer/freetype/freetype.h b/modules/text_renderer/freetype/freetype.h
index 847616062f..59fb3fa30c 100644
--- a/modules/text_renderer/freetype/freetype.h
+++ b/modules/text_renderer/freetype/freetype.h
@@ -111,6 +111,7 @@ typedef struct
/* Current scaling of the text, default is 100 (%) */
int i_scale;
+ int i_font_default_size;
vlc_font_select_t *fs;
More information about the vlc-commits
mailing list