libgpac
Documentation of the core library of GPAC
visual_manager_2d.h File Reference
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_RectArrayEntry
 
struct  GF_RectArray
 
struct  _drawable_store
 
struct  GF_OverlayStack
 

Macros

#define irect_rect_equal(rc1, rc2)   ((rc1.width == rc2.width) && (rc1.height == rc2.height) && (rc1.x == rc2.x) && (rc1.y == rc2.y))
 
#define RA_DEFAULT_STEP   10
 
#define ra_init(ra)   { (ra)->count = 0; (ra)->alloc = RA_DEFAULT_STEP; (ra)->list = (GF_RectArrayEntry*)gf_malloc(sizeof(GF_RectArrayEntry)*(ra)->alloc); }
 
#define ra_del(ra)   { if ((ra)->list) { gf_free((ra)->list); (ra)->list = NULL; } }
 
#define ra_add(ra, rc)
 

Functions

Bool gf_irect_overlaps (GF_IRect *rc1, GF_IRect *rc2)
 
void gf_irect_intersect (GF_IRect *rc1, GF_IRect *rc2)
 
GF_Rect gf_rect_ft (GF_IRect *rc)
 
Bool gf_irect_inside (GF_IRect *rc1, GF_IRect *rc2)
 
void ra_union_rect (GF_RectArray *ra, GF_IRect *rc)
 
void ra_refresh (GF_RectArray *ra)
 
Bool visual_2d_draw_frame (GF_VisualManager *visual, GF_Node *root, GF_TraverseState *tr_state, Bool is_root_visual)
 
void visual_2d_pick_node (GF_VisualManager *visual, GF_TraverseState *tr_state, GF_Event *ev, GF_ChildNodeItem *children)
 
void visual_2d_clear_surface (GF_VisualManager *visual, GF_IRect *rc, u32 BackColor, u32 is_offscreen)
 
DrawableContext * visual_2d_get_drawable_context (GF_VisualManager *visual)
 
void visual_2d_remove_last_context (GF_VisualManager *visual)
 
void visual_2d_drawable_delete (GF_VisualManager *visual, Drawable *node)
 
GF_Err visual_2d_init_raster (GF_VisualManager *visual)
 
void visual_2d_release_raster (GF_VisualManager *visual)
 
void visual_2d_texture_path (GF_VisualManager *visual, GF_Path *path, DrawableContext *ctx, GF_TraverseState *tr_state)
 
void visual_2d_draw_path (GF_VisualManager *visual, GF_Path *path, DrawableContext *ctx, GF_EVGStencil *brush, GF_EVGStencil *pen, GF_TraverseState *tr_state)
 
void visual_2d_texture_path_text (GF_VisualManager *visual, DrawableContext *txt_ctx, GF_Path *path, GF_Rect *object_bounds, GF_TextureHandler *txh, GF_TraverseState *tr_state)
 
void visual_2d_fill_rect (GF_VisualManager *visual, DrawableContext *ctx, GF_Rect *rc, u32 color, u32 strike_color, GF_TraverseState *tr_state)
 
void visual_2d_texture_path_extended (GF_VisualManager *visual, GF_Path *path, GF_TextureHandler *txh, struct _drawable_context *ctx, GF_Rect *orig_bounds, GF_Matrix2D *ext_mx, GF_TraverseState *tr_state)
 
void visual_2d_draw_path_extended (GF_VisualManager *visual, GF_Path *path, DrawableContext *ctx, GF_EVGStencil *brush, GF_EVGStencil *pen, GF_TraverseState *tr_state, GF_Rect *orig_bounds, GF_Matrix2D *ext_mx, Bool is_erase)
 
Bool visual_2d_overlaps_overlay (GF_VisualManager *visual, DrawableContext *ctx, GF_TraverseState *tr_state)
 
void visual_2d_flush_overlay_areas (GF_VisualManager *visual, GF_TraverseState *tr_state)
 
void visual_2d_draw_overlays (GF_VisualManager *visual)
 
void visual_2d_flush_hybgl_canvas (GF_VisualManager *visual, GF_TextureHandler *txh, struct _drawable_context *ctx, GF_TraverseState *tr_state)
 

Data Structure Documentation

◆ GF_RectArrayEntry

struct GF_RectArrayEntry
+ Collaboration diagram for GF_RectArrayEntry:
Data Fields
GF_IRect rect

◆ GF_RectArray

struct GF_RectArray
+ Collaboration diagram for GF_RectArray:
Data Fields
GF_RectArrayEntry * list
u32 count
u32 alloc

◆ _drawable_store

struct _drawable_store
+ Collaboration diagram for _drawable_store:
Data Fields
struct _drawable * drawable
struct _drawable_store * next

◆ GF_OverlayStack

struct GF_OverlayStack
+ Collaboration diagram for GF_OverlayStack:
Data Fields
struct _video_overlay * next
GF_Window src
GF_Window dst
DrawableContext * ctx
GF_RectArray ra

Macro Definition Documentation

◆ irect_rect_equal

#define irect_rect_equal (   rc1,
  rc2 
)    ((rc1.width == rc2.width) && (rc1.height == rc2.height) && (rc1.x == rc2.x) && (rc1.y == rc2.y))

◆ RA_DEFAULT_STEP

#define RA_DEFAULT_STEP   10

◆ ra_init

#define ra_init (   ra)    { (ra)->count = 0; (ra)->alloc = RA_DEFAULT_STEP; (ra)->list = (GF_RectArrayEntry*)gf_malloc(sizeof(GF_RectArrayEntry)*(ra)->alloc); }

◆ ra_del

#define ra_del (   ra)    { if ((ra)->list) { gf_free((ra)->list); (ra)->list = NULL; } }

◆ ra_add

#define ra_add (   ra,
  rc 
)
Value:
{ \
gf_assert((rc)->width); \
if ((ra)->count==(ra)->alloc) { \
(ra)->alloc += RA_DEFAULT_STEP; \
(ra)->list = (GF_RectArrayEntry*)gf_realloc((ra)->list, sizeof(GF_RectArrayEntry) * (ra)->alloc); \
} \
(ra)->list[(ra)->count].rect = *rc; (ra)->count++; }
void * gf_realloc(void *ptr, size_t size)
Definition: alloc.c:158
#define RA_DEFAULT_STEP
Definition: visual_manager_2d.h:42
Definition: visual_manager_2d.h:45

Function Documentation

◆ gf_irect_overlaps()

Bool gf_irect_overlaps ( GF_IRect rc1,
GF_IRect rc2 
)
+ Here is the caller graph for this function:

◆ gf_irect_intersect()

void gf_irect_intersect ( GF_IRect rc1,
GF_IRect rc2 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rect_ft()

GF_Rect gf_rect_ft ( GF_IRect rc)
+ Here is the caller graph for this function:

◆ gf_irect_inside()

Bool gf_irect_inside ( GF_IRect rc1,
GF_IRect rc2 
)
+ Here is the caller graph for this function:

◆ ra_union_rect()

void ra_union_rect ( GF_RectArray ra,
GF_IRect rc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ra_refresh()

void ra_refresh ( GF_RectArray ra)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_draw_frame()

Bool visual_2d_draw_frame ( GF_VisualManager *  visual,
GF_Node root,
GF_TraverseState *  tr_state,
Bool  is_root_visual 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_pick_node()

void visual_2d_pick_node ( GF_VisualManager *  visual,
GF_TraverseState *  tr_state,
GF_Event ev,
GF_ChildNodeItem children 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_clear_surface()

void visual_2d_clear_surface ( GF_VisualManager *  visual,
GF_IRect rc,
u32  BackColor,
u32  is_offscreen 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_get_drawable_context()

DrawableContext* visual_2d_get_drawable_context ( GF_VisualManager *  visual)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_remove_last_context()

void visual_2d_remove_last_context ( GF_VisualManager *  visual)
+ Here is the caller graph for this function:

◆ visual_2d_drawable_delete()

void visual_2d_drawable_delete ( GF_VisualManager *  visual,
Drawable *  node 
)

◆ visual_2d_init_raster()

GF_Err visual_2d_init_raster ( GF_VisualManager *  visual)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_release_raster()

void visual_2d_release_raster ( GF_VisualManager *  visual)
+ Here is the caller graph for this function:

◆ visual_2d_texture_path()

void visual_2d_texture_path ( GF_VisualManager *  visual,
GF_Path path,
DrawableContext *  ctx,
GF_TraverseState *  tr_state 
)
+ Here is the caller graph for this function:

◆ visual_2d_draw_path()

void visual_2d_draw_path ( GF_VisualManager *  visual,
GF_Path path,
DrawableContext *  ctx,
GF_EVGStencil *  brush,
GF_EVGStencil *  pen,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_texture_path_text()

void visual_2d_texture_path_text ( GF_VisualManager *  visual,
DrawableContext *  txt_ctx,
GF_Path path,
GF_Rect object_bounds,
GF_TextureHandler txh,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_fill_rect()

void visual_2d_fill_rect ( GF_VisualManager *  visual,
DrawableContext *  ctx,
GF_Rect rc,
u32  color,
u32  strike_color,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_texture_path_extended()

void visual_2d_texture_path_extended ( GF_VisualManager *  visual,
GF_Path path,
GF_TextureHandler txh,
struct _drawable_context ctx,
GF_Rect orig_bounds,
GF_Matrix2D ext_mx,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_draw_path_extended()

void visual_2d_draw_path_extended ( GF_VisualManager *  visual,
GF_Path path,
DrawableContext *  ctx,
GF_EVGStencil *  brush,
GF_EVGStencil *  pen,
GF_TraverseState *  tr_state,
GF_Rect orig_bounds,
GF_Matrix2D ext_mx,
Bool  is_erase 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_overlaps_overlay()

Bool visual_2d_overlaps_overlay ( GF_VisualManager *  visual,
DrawableContext *  ctx,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_flush_overlay_areas()

void visual_2d_flush_overlay_areas ( GF_VisualManager *  visual,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_draw_overlays()

void visual_2d_draw_overlays ( GF_VisualManager *  visual)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ visual_2d_flush_hybgl_canvas()

void visual_2d_flush_hybgl_canvas ( GF_VisualManager *  visual,
GF_TextureHandler txh,
struct _drawable_context ctx,
GF_TraverseState *  tr_state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: