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_gradients.c File Reference
#include "nodes_stacks.h"
#include "texturing.h"
+ Include dependency graph for mpeg4_gradients.c:

Data Structures

struct  GradientStack
 

Macros

#define GRAD_TEXTURE_SIZE   128
 
#define GRAD_TEXTURE_HSIZE   64
 

Enumerations

enum  { GF_SR_TEXTURE_GRAD_REGISTERED = 1<<6, GF_SR_TEXTURE_GRAD_NO_RGB = 1<<7 }
 

Functions

void GradientGetMatrix (GF_Node *transform, GF_Matrix2D *mat)
 
static void DestroyGradient (GF_Node *node, void *rs, Bool is_destroy)
 
static void UpdateLinearGradient (GF_TextureHandler *txh)
 
static void LG_ComputeMatrix (GF_TextureHandler *txh, GF_Rect *bounds, GF_Matrix2D *mat, Bool for_3d)
 
static void BuildLinearGradientTexture (GF_TextureHandler *txh)
 
void compositor_init_linear_gradient (GF_Compositor *compositor, GF_Node *node)
 
static void BuildRadialGradientTexture (GF_TextureHandler *txh)
 
static void UpdateRadialGradient (GF_TextureHandler *txh)
 
static void RG_ComputeMatrix (GF_TextureHandler *txh, GF_Rect *bounds, GF_Matrix2D *mat, Bool for_3d)
 
void compositor_init_radial_gradient (GF_Compositor *compositor, GF_Node *node)
 
GF_TextureHandlercompositor_mpeg4_get_gradient_texture (GF_Node *node)
 
void compositor_gradient_update (GF_TextureHandler *txh)
 

Data Structure Documentation

struct GradientStack
+ Collaboration diagram for GradientStack:
Data Fields
GF_TextureHandler txh
char * tx_data

Macro Definition Documentation

#define GRAD_TEXTURE_SIZE   128
#define GRAD_TEXTURE_HSIZE   64

Enumeration Type Documentation

anonymous enum
Enumerator
GF_SR_TEXTURE_GRAD_REGISTERED 
GF_SR_TEXTURE_GRAD_NO_RGB 

Function Documentation

void GradientGetMatrix ( GF_Node transform,
GF_Matrix2D mat 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

static void UpdateLinearGradient ( GF_TextureHandler txh)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void LG_ComputeMatrix ( GF_TextureHandler txh,
GF_Rect bounds,
GF_Matrix2D mat,
Bool  for_3d 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void BuildLinearGradientTexture ( GF_TextureHandler txh)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void compositor_init_linear_gradient ( GF_Compositor *  compositor,
GF_Node node 
)

!! Gradients are textures but are not registered as textures with the compositor in order to avoid updating too many textures each frame - gradients are only registered with the compositor when they are used in OpenGL, in order to release associated HW resource when no longer used

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void BuildRadialGradientTexture ( GF_TextureHandler txh)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void UpdateRadialGradient ( GF_TextureHandler txh)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void RG_ComputeMatrix ( GF_TextureHandler txh,
GF_Rect bounds,
GF_Matrix2D mat,
Bool  for_3d 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void compositor_init_radial_gradient ( GF_Compositor *  compositor,
GF_Node node 
)

!! Gradients are textures but are not registered as textures with the compositor in order to avoid updating too many textures each frame - gradients are only registered with the compositor when they are used in OpenGL, in order to release associated HW resource when no longer used

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_TextureHandler* compositor_mpeg4_get_gradient_texture ( GF_Node node)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void compositor_gradient_update ( GF_TextureHandler txh)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: