libgpac
Documentation of the core library of GPAC
compositor_2d.c File Reference
#include "visual_manager.h"
#include "nodes_stacks.h"
#include "texturing.h"
#include "gl_inc.h"
+ Include dependency graph for compositor_2d.c:

Macros

#define ROUND_FIX(_v)
 
#define CEILING(_v)
 

Functions

void compositor_2d_hybgl_clear_surface (GF_VisualManager *visual, GF_IRect *rc, u32 BackColor, u32 is_offscreen_clear)
 
void compositor_2d_hybgl_flush_video (GF_Compositor *compositor, GF_IRect *area)
 
Bool compositor_2d_hybgl_draw_bitmap (GF_VisualManager *visual, GF_TraverseState *tr_state, DrawableContext *ctx)
 
void compositor_2d_reset_gl_auto (GF_Compositor *compositor)
 
static GF_Err compositor_2d_setup_opengl (GF_VisualManager *visual)
 
static GF_Err c2d_video_access_hybrid_opengl (GF_VisualManager *visual)
 
static GF_Err c2d_get_video_access_normal (GF_VisualManager *visual)
 
GF_Err compositor_2d_get_video_access (GF_VisualManager *visual)
 
Bool compositor_2d_check_attached (GF_VisualManager *visual)
 
void compositor_2d_clear_surface (GF_VisualManager *visual, GF_IRect *rc, u32 BackColor, u32 offscreen_clear)
 
void compositor_2d_release_video_access (GF_VisualManager *visual)
 
static void store_blit_times (GF_TextureHandler *txh, u32 push_time)
 
Bool compositor_texture_rectangles (GF_VisualManager *visual, GF_TextureHandler *txh, GF_IRect *clip, GF_Rect *unclip, GF_Window *src, GF_Window *dst, Bool *disable_blit, Bool *has_scale)
 
static Bool compositor_2d_draw_bitmap_ex (GF_VisualManager *visual, GF_TextureHandler *txh, DrawableContext *ctx, GF_IRect *clip, GF_Rect *unclip, u8 alpha, GF_TraverseState *tr_state, Bool force_soft_blt)
 
Bool compositor_2d_draw_bitmap (GF_VisualManager *visual, GF_TraverseState *tr_state, DrawableContext *ctx)
 
GF_Err compositor_2d_set_aspect_ratio (GF_Compositor *compositor)
 
void compositor_send_resize_event (GF_Compositor *compositor, GF_SceneGraph *subscene, Fixed old_z, Fixed old_tx, Fixed old_ty, Bool is_resize)
 
void compositor_2d_set_user_transform (GF_Compositor *compositor, Fixed zoom, Fixed tx, Fixed ty, Bool is_resize)
 
GF_Rect compositor_2d_update_clipper (GF_TraverseState *tr_state, GF_Rect this_clip, Bool *need_restore, GF_Rect *original, Bool for_layer)
 
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 compositor_2d_init_callbacks (GF_Compositor *compositor)
 

Macro Definition Documentation

◆ ROUND_FIX

#define ROUND_FIX (   _v)
Value:
_v = FIX2INT(tmp); \
tmp -= INT2FIX(_v); \
if (tmp>99*FIX_ONE/100) { _v++; tmp = 0; } \
if (ABS(tmp) > FIX_EPSILON) use_blit = 0;
#define FIX_ONE
#define FIX_EPSILON
#define INT2FIX(v)
#define FIX2INT(v)
#define ABS(a)
Definition: setup.h:467

◆ CEILING

#define CEILING (   _v)
Value:
_v = FIX2INT(tmp); \
tmp -= INT2FIX(_v); \
if (tmp>0) { _v++; tmp = 0; } \
if (ABS(tmp) > FIX_EPSILON) use_blit = 0;

Function Documentation

◆ compositor_2d_hybgl_clear_surface()

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

◆ compositor_2d_hybgl_flush_video()

void compositor_2d_hybgl_flush_video ( GF_Compositor *  compositor,
GF_IRect area 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_2d_hybgl_draw_bitmap()

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

◆ compositor_2d_reset_gl_auto()

void compositor_2d_reset_gl_auto ( GF_Compositor *  compositor)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_2d_setup_opengl()

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

◆ c2d_video_access_hybrid_opengl()

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

◆ c2d_get_video_access_normal()

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

◆ compositor_2d_get_video_access()

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

◆ compositor_2d_check_attached()

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

◆ compositor_2d_clear_surface()

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

◆ compositor_2d_release_video_access()

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

◆ store_blit_times()

static void store_blit_times ( GF_TextureHandler txh,
u32  push_time 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_texture_rectangles()

Bool compositor_texture_rectangles ( GF_VisualManager *  visual,
GF_TextureHandler txh,
GF_IRect clip,
GF_Rect unclip,
GF_Window src,
GF_Window dst,
Bool disable_blit,
Bool has_scale 
)
+ Here is the caller graph for this function:

◆ compositor_2d_draw_bitmap_ex()

static Bool compositor_2d_draw_bitmap_ex ( GF_VisualManager *  visual,
GF_TextureHandler txh,
DrawableContext *  ctx,
GF_IRect clip,
GF_Rect unclip,
u8  alpha,
GF_TraverseState *  tr_state,
Bool  force_soft_blt 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_2d_draw_bitmap()

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

◆ compositor_2d_set_aspect_ratio()

GF_Err compositor_2d_set_aspect_ratio ( GF_Compositor *  compositor)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_send_resize_event()

void compositor_send_resize_event ( GF_Compositor *  compositor,
GF_SceneGraph *  subscene,
Fixed  old_z,
Fixed  old_tx,
Fixed  old_ty,
Bool  is_resize 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_2d_set_user_transform()

void compositor_2d_set_user_transform ( GF_Compositor *  compositor,
Fixed  zoom,
Fixed  tx,
Fixed  ty,
Bool  is_resize 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_2d_update_clipper()

GF_Rect compositor_2d_update_clipper ( GF_TraverseState *  tr_state,
GF_Rect  this_clip,
Bool need_restore,
GF_Rect original,
Bool  for_layer 
)
+ 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:

◆ compositor_2d_init_callbacks()

void compositor_2d_init_callbacks ( GF_Compositor *  compositor)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: