libgpac
Documentation of the core library of GPAC
svg_text.c File Reference
#include <gpac/utf.h>
#include "visual_manager.h"
#include "nodes_stacks.h"
+ Include dependency graph for svg_text.c:

Data Structures

struct  SVG_TextStack
 
struct  textArea_state
 

Functions

static void svg_reset_text_stack (SVG_TextStack *st)
 
static void svg_update_bounds (SVG_TextStack *st)
 
static void svg_finalize_sort (DrawableContext *ctx, SVG_TextStack *st, GF_TraverseState *tr_state)
 
static u32 svg_get_font_styles (GF_TraverseState *tr_state)
 
GF_Font * gf_compositor_svg_set_font (GF_FontManager *fm, char *a_font, u32 styles, Bool check_only)
 
static GF_Font * svg_set_font (GF_TraverseState *tr_state, GF_FontManager *fm)
 
static void svg_apply_text_anchor (GF_TraverseState *tr_state, Fixed *width)
 
static GF_TextSpansvg_get_text_span (GF_FontManager *fm, GF_Font *font, Fixed font_size, Bool x_offsets, Bool y_offsets, Bool rotate, SVGAllAttributes *atts, char *textContent, const char *lang, GF_TraverseState *tr_state)
 
static void svg_text_area_reset_state (GF_TraverseState *tr_state)
 
static void svg_text_area_queue_state (GF_TraverseState *tr_state, GF_TextSpan *span, u32 first_glyph, u32 last_glyph)
 
static void svg_text_area_apply_diff_baselines (GF_TraverseState *tr_state, Fixed diff)
 
static void svg_traverse_dom_text_area (GF_Node *node, SVGAllAttributes *atts, GF_TraverseState *tr_state, GF_List *spans)
 
static void get_domtext_width (GF_Node *node, SVGAllAttributes *atts, GF_TraverseState *tr_state)
 
static void get_tspan_width (GF_Node *node, void *rs)
 
void svg_traverse_domtext (GF_Node *node, SVGAllAttributes *atts, GF_TraverseState *tr_state, GF_List *spans, GF_Node *anchor_node)
 
static void svg_compute_text_width (GF_Node *node, SVGAllAttributes *atts, GF_TraverseState *tr_state)
 
static void svg_traverse_text_block (GF_Node *node, SVGAllAttributes *atts, GF_TraverseState *tr_state, GF_List *spans)
 
static void svg_text_draw_2d (SVG_TextStack *st, GF_TraverseState *tr_state)
 
static void svg_text_area_shift_bounds (SVG_TextStack *st, GF_TraverseState *tr_state)
 
static void svg_traverse_text (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_svg_text (GF_Compositor *compositor, GF_Node *node)
 
static void svg_traverse_tspan (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_svg_tspan (GF_Compositor *compositor, GF_Node *node)
 
static void svg_traverse_textArea (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_svg_textarea (GF_Compositor *compositor, GF_Node *node)
 
static void svg_traverse_tbreak (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_svg_tbreak (GF_Compositor *compositor, GF_Node *node)
 

Data Structure Documentation

◆ SVG_TextStack

struct SVG_TextStack
+ Collaboration diagram for SVG_TextStack:
Data Fields
Drawable * drawable
Fixed prev_size
u32 prev_flags
u32 prev_anchor
GF_List * spans
GF_Rect bounds

◆ textArea_state

struct textArea_state
+ Collaboration diagram for textArea_state:
Data Fields
GF_TextSpan * span
u32 first_glyph
u32 last_glyph

Function Documentation

◆ svg_reset_text_stack()

static void svg_reset_text_stack ( SVG_TextStack st)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_update_bounds()

static void svg_update_bounds ( SVG_TextStack st)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_finalize_sort()

static void svg_finalize_sort ( DrawableContext *  ctx,
SVG_TextStack st,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_get_font_styles()

static u32 svg_get_font_styles ( GF_TraverseState *  tr_state)
static
+ Here is the caller graph for this function:

◆ gf_compositor_svg_set_font()

GF_Font* gf_compositor_svg_set_font ( GF_FontManager *  fm,
char *  a_font,
u32  styles,
Bool  check_only 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_set_font()

static GF_Font* svg_set_font ( GF_TraverseState *  tr_state,
GF_FontManager *  fm 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_apply_text_anchor()

static void svg_apply_text_anchor ( GF_TraverseState *  tr_state,
Fixed width 
)
static
+ Here is the caller graph for this function:

◆ svg_get_text_span()

static GF_TextSpan* svg_get_text_span ( GF_FontManager *  fm,
GF_Font *  font,
Fixed  font_size,
Bool  x_offsets,
Bool  y_offsets,
Bool  rotate,
SVGAllAttributes atts,
char *  textContent,
const char *  lang,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_text_area_reset_state()

static void svg_text_area_reset_state ( GF_TraverseState *  tr_state)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_text_area_queue_state()

static void svg_text_area_queue_state ( GF_TraverseState *  tr_state,
GF_TextSpan span,
u32  first_glyph,
u32  last_glyph 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_text_area_apply_diff_baselines()

static void svg_text_area_apply_diff_baselines ( GF_TraverseState *  tr_state,
Fixed  diff 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_dom_text_area()

static void svg_traverse_dom_text_area ( GF_Node node,
SVGAllAttributes atts,
GF_TraverseState *  tr_state,
GF_List *  spans 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_domtext_width()

static void get_domtext_width ( GF_Node node,
SVGAllAttributes atts,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_tspan_width()

static void get_tspan_width ( GF_Node node,
void *  rs 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_domtext()

void svg_traverse_domtext ( GF_Node node,
SVGAllAttributes atts,
GF_TraverseState *  tr_state,
GF_List *  spans,
GF_Node anchor_node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_compute_text_width()

static void svg_compute_text_width ( GF_Node node,
SVGAllAttributes atts,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_text_block()

static void svg_traverse_text_block ( GF_Node node,
SVGAllAttributes atts,
GF_TraverseState *  tr_state,
GF_List *  spans 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_text_draw_2d()

static void svg_text_draw_2d ( SVG_TextStack st,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_text_area_shift_bounds()

static void svg_text_area_shift_bounds ( SVG_TextStack st,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_text()

static void svg_traverse_text ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_svg_text()

void compositor_init_svg_text ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_tspan()

static void svg_traverse_tspan ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_svg_tspan()

void compositor_init_svg_tspan ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_textArea()

static void svg_traverse_textArea ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_svg_textarea()

void compositor_init_svg_textarea ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ svg_traverse_tbreak()

static void svg_traverse_tbreak ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_svg_tbreak()

void compositor_init_svg_tbreak ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: