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

Data Structures

struct  TextStack
 

Macros

#define FSFAMILY   (fs && fs->family.count) ? (const char *)fs->family.vals[0] : ""
 
#define FSSIZE   (fs ? fs->size : -1)
 
#define FSSTYLE   (fs && fs->style.buffer) ? (const char *)fs->style.buffer : ""
 
#define FSMAJOR   ( (fs && fs->justify.count && fs->justify.vals[0]) ? (const char *)fs->justify.vals[0] : "FIRST")
 
#define FSMINOR   ( (fs && (fs->justify.count>1) && fs->justify.vals[1]) ? (const char *)fs->justify.vals[1] : "FIRST")
 
#define FSHORIZ   (fs ? fs->horizontal : 1)
 
#define FSLTR   (fs ? fs->leftToRight : 1)
 
#define FSTTB   (fs ? fs->topToBottom : 1)
 
#define FSLANG   (fs ? fs->language : "")
 
#define FSSPACE   (fs ? fs->spacing : 1)
 

Functions

void text_clean_paths (GF_Compositor *compositor, TextStack *stack)
 
static void build_text_split (TextStack *st, M_Text *txt, GF_TraverseState *tr_state)
 
static void build_text (TextStack *st, M_Text *txt, GF_TraverseState *tr_state)
 
static void text_get_draw_opt (GF_Node *node, TextStack *st, Bool *force_texture, u32 *hl_color, DrawAspect2D *asp)
 
static Bool text_is_3d_material (GF_TraverseState *tr_state)
 
static void text_draw_3d (GF_TraverseState *tr_state, GF_Node *node, TextStack *st)
 
void text_draw_2d (GF_Node *node, GF_TraverseState *tr_state)
 
static void text_check_changes (GF_Node *node, TextStack *stack, GF_TraverseState *tr_state)
 
static void Text_Traverse (GF_Node *n, void *rs, Bool is_destroy)
 
void compositor_init_text (GF_Compositor *compositor, GF_Node *node)
 
void compositor_extrude_text (GF_Node *node, GF_TraverseState *tr_state, GF_Mesh *mesh, MFVec3f *thespine, Fixed creaseAngle, Bool begin_cap, Bool end_cap, MFRotation *spine_ori, MFVec2f *spine_scale, Bool txAlongSpine)
 

Data Structure Documentation

◆ TextStack

struct TextStack
+ Collaboration diagram for TextStack:
Data Fields
struct _drawable s_graph
Fixed ascent
Fixed descent
GF_List * spans
GF_Rect bounds
u32 texture_text_flag
Bool is_dirty
GF_Compositor * compositor

Macro Definition Documentation

◆ FSFAMILY

#define FSFAMILY   (fs && fs->family.count) ? (const char *)fs->family.vals[0] : ""

◆ FSSIZE

#define FSSIZE   (fs ? fs->size : -1)

◆ FSSTYLE

#define FSSTYLE   (fs && fs->style.buffer) ? (const char *)fs->style.buffer : ""

◆ FSMAJOR

#define FSMAJOR   ( (fs && fs->justify.count && fs->justify.vals[0]) ? (const char *)fs->justify.vals[0] : "FIRST")

◆ FSMINOR

#define FSMINOR   ( (fs && (fs->justify.count>1) && fs->justify.vals[1]) ? (const char *)fs->justify.vals[1] : "FIRST")

◆ FSHORIZ

#define FSHORIZ   (fs ? fs->horizontal : 1)

◆ FSLTR

#define FSLTR   (fs ? fs->leftToRight : 1)

◆ FSTTB

#define FSTTB   (fs ? fs->topToBottom : 1)

◆ FSLANG

#define FSLANG   (fs ? fs->language : "")

◆ FSSPACE

#define FSSPACE   (fs ? fs->spacing : 1)

Function Documentation

◆ text_clean_paths()

void text_clean_paths ( GF_Compositor *  compositor,
TextStack stack 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ build_text_split()

static void build_text_split ( TextStack st,
M_Text *  txt,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ build_text()

static void build_text ( TextStack st,
M_Text *  txt,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ text_get_draw_opt()

static void text_get_draw_opt ( GF_Node node,
TextStack st,
Bool force_texture,
u32 hl_color,
DrawAspect2D *  asp 
)
static
+ Here is the caller graph for this function:

◆ text_is_3d_material()

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

◆ text_draw_3d()

static void text_draw_3d ( GF_TraverseState *  tr_state,
GF_Node node,
TextStack st 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ text_draw_2d()

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

◆ text_check_changes()

static void text_check_changes ( GF_Node node,
TextStack stack,
GF_TraverseState *  tr_state 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Text_Traverse()

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

◆ compositor_init_text()

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

◆ compositor_extrude_text()

void compositor_extrude_text ( GF_Node node,
GF_TraverseState *  tr_state,
GF_Mesh mesh,
MFVec3f thespine,
Fixed  creaseAngle,
Bool  begin_cap,
Bool  end_cap,
MFRotation spine_ori,
MFVec2f spine_scale,
Bool  txAlongSpine 
)
+ Here is the caller graph for this function: