VLC  3.0.21
Macros | Functions
text_style.c File Reference
Include dependency graph for text_style.c:

Macros

#define MERGE(var, fflag)
 
#define MERGE_SIZE(var)
 

Functions

text_style_ttext_style_New (void)
 Create a default text style. More...
 
text_style_ttext_style_Create (int i_defaults)
 Create a text style. More...
 
text_style_ttext_style_Copy (text_style_t *p_dst, const text_style_t *p_src)
 Copy a text style into another. More...
 
void text_style_Merge (text_style_t *p_dst, const text_style_t *p_src, bool b_override)
 Merge two styles using non default values. More...
 
text_style_ttext_style_Duplicate (const text_style_t *p_src)
 Duplicate a text style. More...
 
void text_style_Delete (text_style_t *p_style)
 Delete a text style created by text_style_New or text_style_Duplicate. More...
 
text_segment_ttext_segment_New (const char *psz_text)
 This function will create a new text segment. More...
 
text_segment_ttext_segment_NewInheritStyle (const text_style_t *p_style)
 This function will create a new text segment and duplicates the style passed as argument. More...
 
void text_segment_Delete (text_segment_t *segment)
 Delete a text segment and its content. More...
 
void text_segment_ChainDelete (text_segment_t *segment)
 This function will destroy a list of text segments allocated by text_segment_New. More...
 
text_segment_ttext_segment_Copy (text_segment_t *p_src)
 This function will copy a text_segment and its chain into a new one. More...
 
unsigned int vlc_html_color (const char *psz_value, bool *ok)
 Returns an integer representation of an HTML color. More...
 

Macro Definition Documentation

◆ MERGE

#define MERGE (   var,
  fflag 
)
Value:
if( (p_src->i_features & fflag) && (b_override || !(p_dst->i_features & fflag)) )\
p_dst->var = p_src->var

◆ MERGE_SIZE

#define MERGE_SIZE (   var)
Value:
if( p_src->var > 0 && (b_override || p_dst->var <= 0) )\
p_dst->var = p_src->var

Function Documentation

◆ text_segment_ChainDelete()

void text_segment_ChainDelete ( text_segment_t )

This function will destroy a list of text segments allocated by text_segment_New.

You may pass it NULL.

References text_segment_t::p_next, and text_segment_Delete().

Referenced by subpicture_region_Delete().

◆ text_segment_Copy()

text_segment_t* text_segment_Copy ( text_segment_t )

This function will copy a text_segment and its chain into a new one.

You may give it NULL, but it will return NULL.

References text_segment_t::p_next, text_segment_t::psz_text, text_segment_t::style, text_segment_New(), text_style_Duplicate(), and unlikely.

Referenced by subpicture_region_Copy().

◆ text_segment_Delete()

void text_segment_Delete ( text_segment_t )

Delete a text segment and its content.

This assumes the segment is not part of a chain

References text_segment_t::psz_text, text_segment_t::style, and text_style_Delete().

Referenced by text_segment_ChainDelete(), text_segment_NewInheritStyle(), and vout_OSDSegment().

◆ text_segment_New()

text_segment_t* text_segment_New ( const char *  )

This function will create a new text segment.

You should use text_segment_ChainDelete to destroy it, to clean all the linked segments, or text_segment_Delete to free a specic one

This duplicates the string passed as argument

References text_segment_t::psz_text, and strdup().

Referenced by text_segment_Copy(), text_segment_NewInheritStyle(), and vout_OSDSegment().

◆ text_segment_NewInheritStyle()

text_segment_t* text_segment_NewInheritStyle ( const text_style_t p_style)

This function will create a new text segment and duplicates the style passed as argument.

You should use text_segment_ChainDelete to destroy it, to clean all the linked segments, or text_segment_Delete to free a specic one

This doesn't initialize the text.

References text_segment_t::style, text_segment_Delete(), text_segment_New(), text_style_Duplicate(), and unlikely.

◆ text_style_Copy()

text_style_t* text_style_Copy ( text_style_t p_dst,
const text_style_t p_src 
)

Copy a text style into another.

References text_style_t::psz_fontname, text_style_t::psz_monofontname, and strdup().

Referenced by text_style_Duplicate().

◆ text_style_Create()

text_style_t* text_style_Create ( int  )

◆ text_style_Delete()

void text_style_Delete ( text_style_t p_style)

Delete a text style created by text_style_New or text_style_Duplicate.

References text_style_t::psz_fontname, and text_style_t::psz_monofontname.

Referenced by text_segment_Delete().

◆ text_style_Duplicate()

text_style_t* text_style_Duplicate ( const text_style_t p_src)

Duplicate a text style.

References text_style_Copy().

Referenced by text_segment_Copy(), and text_segment_NewInheritStyle().

◆ text_style_Merge()

void text_style_Merge ( text_style_t ,
const text_style_t ,
bool  b_override 
)

◆ text_style_New()

text_style_t* text_style_New ( void  )

Create a default text style.

References STYLE_FULLY_SET, and text_style_Create().

◆ vlc_html_color()

unsigned int vlc_html_color ( const char *  psz_value,
bool *  ok 
)

Returns an integer representation of an HTML color.

Parameters
psz_valueAn HTML color, which can be either:
  • A standard HTML color (red, cyan, ...) as defined in p_html_colors
  • An hexadecimal color, of the form [#][AA]RRGGBB
okIf non-null, true will be stored in this pointer to signal a successful conversion

References i_value, p_html_colors, psz_name, psz_value, and strcasecmp().