libgpac
Documentation of the core library of GPAC
surface.c File Reference
#include "rast_soft.h"
+ Include dependency graph for surface.c:

Functions

static void get_surface_world_matrix (GF_EVGSurface *surf, GF_Matrix2D *mat)
 
static GF_Err evg_raster_ctx_init (EVGRasterCtx *raster_ctx, GF_EVGSurface *surf)
 
static void evg_raster_ctx_uninit (EVGRasterCtx *raster_ctx)
 
GF_EXPORT GF_EVGSurface * gf_evg_surface_new (Bool center_coords)
 
EVG_Surface3DExtevg_init_3d_surface (GF_EVGSurface *surf)
 
GF_EXPORT GF_Err gf_evg_surface_enable_3d (GF_EVGSurface *surf)
 
GF_EXPORT GF_Err gf_evg_enable_threading (GF_EVGSurface *surf, s32 nb_threads)
 
GF_EXPORT void gf_evg_surface_set_center_coords (GF_EVGSurface *surf, Bool center_coords)
 
GF_EXPORT void gf_evg_surface_delete (GF_EVGSurface *surf)
 
GF_EXPORT GF_Err gf_evg_surface_set_matrix (GF_EVGSurface *surf, GF_Matrix2D *mat)
 
GF_EXPORT GF_Err gf_evg_surface_set_matrix_3d (GF_EVGSurface *surf, GF_Matrix *mat)
 
static void evg_surface_set_components_idx (GF_EVGSurface *surf)
 
static GF_Err gf_evg_surface_attach_to_buffer_internal (GF_EVGSurface *surf, u8 *pixels, u32 width, u32 height, s32 pitch_x, s32 pitch_y, GF_PixelFormat pixelFormat, Bool probe_only)
 
GF_EXPORT GF_Err gf_evg_surface_attach_to_buffer (GF_EVGSurface *surf, u8 *pixels, u32 width, u32 height, s32 pitch_x, s32 pitch_y, GF_PixelFormat pixelFormat)
 
GF_EXPORT GF_Err gf_evg_surface_attach_to_texture (GF_EVGSurface *surf, GF_EVGStencil *sten)
 
GF_EXPORT Bool gf_evg_surface_format_ok (GF_PixelFormat pixelFormat)
 
GF_EXPORT GF_Err gf_evg_surface_clear (GF_EVGSurface *surf, GF_IRect *rc, u32 color)
 
GF_EXPORT GF_Err gf_evg_surface_set_raster_level (GF_EVGSurface *surf, GF_RasterQuality RasterSetting)
 
GF_EXPORT GF_RasterQuality gf_evg_surface_get_raster_level (GF_EVGSurface *surf)
 
GF_EXPORT GF_Err gf_evg_surface_force_aa (GF_EVGSurface *surf)
 
GF_EXPORT GF_Err gf_evg_surface_set_clipper (GF_EVGSurface *surf, GF_IRect *rc)
 
GF_EXPORT Bool gf_evg_surface_use_clipper (GF_EVGSurface *surf)
 
static Bool setup_grey_callback (GF_EVGSurface *surf, Bool for_3d, Bool multi_sten)
 
GF_EXPORT GF_Err gf_evg_surface_set_path (GF_EVGSurface *surf, GF_Path *gp)
 
static u32 shader_get_pix (EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *rctx)
 
static u64 shader_get_pix_wide (EVG_Texture *_this, u32 x, u32 y, EVGRasterCtx *rctx)
 
static GF_Err gf_evg_setup_stencil (GF_EVGSurface *surf, GF_EVGStencil *sten, GF_Matrix2D *mat)
 
static void gf_evg_restore_stencil (GF_EVGSurface *surf, GF_EVGStencil *sten)
 
GF_EXPORT GF_Err gf_evg_surface_multi_fill (GF_EVGSurface *surf, GF_EVGMultiTextureMode operand, GF_EVGStencil *sten1, GF_EVGStencil *sten2, GF_EVGStencil *sten3, Float params[4])
 
GF_EXPORT GF_Err gf_evg_surface_fill (GF_EVGSurface *surf, GF_EVGStencil *sten)
 
void gf_evg_surface_set_composite_mode (GF_EVGSurface *surf, GF_EVGCompositeMode comp_mode)
 
void gf_evg_surface_set_alpha_callback (GF_EVGSurface *surf, u8(*get_alpha)(void *udta, u8 src_alpha, s32 x, s32 y), void *cbk)
 
GF_Err gf_evg_surface_set_projection (GF_EVGSurface *surf, GF_Matrix *mx)
 
GF_Err gf_evg_surface_set_modelview (GF_EVGSurface *surf, GF_Matrix *mx)
 
GF_Err evg_raster_render3d (GF_EVGSurface *surf, u32 *indices, u32 nb_idx, Float *vertices, u32 nb_vertices, u32 nb_comp, GF_EVGPrimitiveType prim_type)
 
GF_Err gf_evg_surface_draw_array (GF_EVGSurface *surf, u32 *indices, u32 nb_idx, Float *vertices, u32 nb_vertices, u32 nb_comp, GF_EVGPrimitiveType prim_type)
 
GF_Err evg_raster_render3d_path (GF_EVGSurface *surf, GF_Path *path, Float z)
 
GF_Err gf_evg_surface_draw_path (GF_EVGSurface *surf, GF_Path *path, Float z)
 
GF_Err gf_evg_surface_set_mask_mode (GF_EVGSurface *surf, GF_EVGMaskMode mask_mode)
 
GF_EVGMaskMode gf_evg_surface_get_mask_mode (GF_EVGSurface *surf)
 

Function Documentation

◆ get_surface_world_matrix()

static void get_surface_world_matrix ( GF_EVGSurface *  surf,
GF_Matrix2D mat 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evg_raster_ctx_init()

static GF_Err evg_raster_ctx_init ( EVGRasterCtx *  raster_ctx,
GF_EVGSurface *  surf 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evg_raster_ctx_uninit()

static void evg_raster_ctx_uninit ( EVGRasterCtx *  raster_ctx)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evg_init_3d_surface()

EVG_Surface3DExt* evg_init_3d_surface ( GF_EVGSurface *  surf)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evg_surface_set_components_idx()

static void evg_surface_set_components_idx ( GF_EVGSurface *  surf)
static
+ Here is the caller graph for this function:

◆ gf_evg_surface_attach_to_buffer_internal()

static GF_Err gf_evg_surface_attach_to_buffer_internal ( GF_EVGSurface *  surf,
u8 pixels,
u32  width,
u32  height,
s32  pitch_x,
s32  pitch_y,
GF_PixelFormat  pixelFormat,
Bool  probe_only 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setup_grey_callback()

static Bool setup_grey_callback ( GF_EVGSurface *  surf,
Bool  for_3d,
Bool  multi_sten 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shader_get_pix()

static u32 shader_get_pix ( EVG_Texture _this,
u32  x,
u32  y,
EVGRasterCtx *  rctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shader_get_pix_wide()

static u64 shader_get_pix_wide ( EVG_Texture _this,
u32  x,
u32  y,
EVGRasterCtx *  rctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_evg_setup_stencil()

static GF_Err gf_evg_setup_stencil ( GF_EVGSurface *  surf,
GF_EVGStencil *  sten,
GF_Matrix2D mat 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_evg_restore_stencil()

static void gf_evg_restore_stencil ( GF_EVGSurface *  surf,
GF_EVGStencil *  sten 
)
static
+ Here is the caller graph for this function:

◆ gf_evg_surface_set_alpha_callback()

void gf_evg_surface_set_alpha_callback ( GF_EVGSurface *  surf,
u8(*)(void *udta, u8 src_alpha, s32 x, s32 y)  get_alpha,
void *  cbk 
)

◆ evg_raster_render3d()

GF_Err evg_raster_render3d ( GF_EVGSurface *  surf,
u32 indices,
u32  nb_idx,
Float vertices,
u32  nb_vertices,
u32  nb_comp,
GF_EVGPrimitiveType  prim_type 
)
+ Here is the caller graph for this function:

◆ evg_raster_render3d_path()

GF_Err evg_raster_render3d_path ( GF_EVGSurface *  surf,
GF_Path path,
Float  z 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: