GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
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 <gpac/options.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)
 
static void TraverseTextureText (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_texture_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

struct TextStack
+ Collaboration diagram for TextStack:
Data Fields
Drawable * graph
Fixed ascent
Fixed descent
GF_List * spans
GF_Rect bounds
u32 texture_text_flag
GF_Compositor * compositor

Macro Definition Documentation

#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)

Function Documentation

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

static void TraverseTextureText ( 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:

void compositor_init_texture_text ( GF_Compositor *  compositor,
GF_Node node 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 call graph for this function:

+ Here is the caller graph for this function: