FFmpeg
Data Structures | Macros | Functions
drawvg.c File Reference
#include <cairo.h>
#include <stdarg.h>
#include <stdio.h>
#include "libavutil/log.h"
#include "libavutil/pixdesc.h"
#include "libavfilter/vf_drawvg.c"

Go to the source code of this file.

Data Structures

struct  _cairo
 

Macros

#define MOCK_FN_0(func)
 
#define MOCK_FN_1(func)
 
#define MOCK_FN_2(func)
 
#define MOCK_FN_4(func)
 
#define MOCK_FN_5(func)
 
#define MOCK_FN_6(func)
 
#define MOCK_FN_I(func, type)
 
#define PRINT_COLOR(prefix)   printf(prefix "#%02x%02x%02x%02x", (int)(r*255), (int)(g*255), (int)(b*255), (int)(a*255))
 

Functions

static void mock_av_log (void *ptr, int level, const char *fmt, va_list vl)
 
static void update_current_point (cairo_t *cr, const char *func, double x, double y)
 
 MOCK_FN_5 (cairo_arc)
 
 MOCK_FN_0 (cairo_clip)
 
 MOCK_FN_0 (cairo_clip_preserve)
 
 MOCK_FN_0 (cairo_close_path)
 
 MOCK_FN_6 (cairo_curve_to)
 
 MOCK_FN_0 (cairo_fill)
 
 MOCK_FN_0 (cairo_fill_preserve)
 
 MOCK_FN_0 (cairo_identity_matrix)
 
 MOCK_FN_2 (cairo_line_to)
 
 MOCK_FN_2 (cairo_move_to)
 
 MOCK_FN_0 (cairo_new_path)
 
 MOCK_FN_0 (cairo_new_sub_path)
 
 MOCK_FN_4 (cairo_rectangle)
 
 MOCK_FN_6 (cairo_rel_curve_to)
 
 MOCK_FN_2 (cairo_rel_line_to)
 
 MOCK_FN_2 (cairo_rel_move_to)
 
 MOCK_FN_0 (cairo_reset_clip)
 
 MOCK_FN_0 (cairo_restore)
 
 MOCK_FN_1 (cairo_rotate)
 
 MOCK_FN_0 (cairo_save)
 
 MOCK_FN_2 (cairo_scale)
 
 MOCK_FN_I (cairo_set_fill_rule, cairo_fill_rule_t)
 
 MOCK_FN_1 (cairo_set_font_size)
 
 MOCK_FN_I (cairo_set_line_cap, cairo_line_cap_t)
 
 MOCK_FN_I (cairo_set_line_join, cairo_line_join_t)
 
 MOCK_FN_1 (cairo_set_line_width)
 
 MOCK_FN_1 (cairo_set_miter_limit)
 
 MOCK_FN_4 (cairo_set_source_rgba)
 
 MOCK_FN_0 (cairo_stroke)
 
 MOCK_FN_0 (cairo_stroke_preserve)
 
 MOCK_FN_2 (cairo_translate)
 
cairo_bool_t cairo_get_dash_count (cairo_t *cr)
 
cairo_status_t cairo_status (cairo_t *cr)
 
void cairo_get_dash (cairo_t *cr, double *dashes, double *offset)
 
void cairo_set_dash (cairo_t *cr, const double *dashes, int num_dashes, double offset)
 
cairo_bool_t cairo_has_current_point (cairo_t *cr)
 
void cairo_get_current_point (cairo_t *cr, double *x, double *y)
 
void cairo_set_source (cairo_t *cr, cairo_pattern_t *source)
 
static void check_sorted_cmds_array (void)
 
static void check_script (int is_file, const char *source)
 
int main (int argc, const char **argv)
 

Macro Definition Documentation

◆ MOCK_FN_0

#define MOCK_FN_0 (   func)
Value:
void func(cairo_t* cr) { \
puts(#func); \
}

Definition at line 60 of file drawvg.c.

◆ MOCK_FN_1

#define MOCK_FN_1 (   func)
Value:
void func(cairo_t* cr, double a0) { \
printf(#func " %.1f\n", a0); \
}

Definition at line 65 of file drawvg.c.

◆ MOCK_FN_2

#define MOCK_FN_2 (   func)
Value:
void func(cairo_t* cr, double a0, double a1) { \
update_current_point(cr, #func, a0, a1); \
printf(#func " %.1f %.1f\n", a0, a1); \
}

Definition at line 70 of file drawvg.c.

◆ MOCK_FN_4

#define MOCK_FN_4 (   func)
Value:
void func(cairo_t* cr, double a0, double a1, double a2, double a3) { \
printf(#func " %.1f %.1f %.1f %.1f\n", a0, a1, a2, a3); \
}

Definition at line 76 of file drawvg.c.

◆ MOCK_FN_5

#define MOCK_FN_5 (   func)
Value:
void func(cairo_t* cr, double a0, double a1, double a2, double a3, double a4) { \
printf(#func " %.1f %.1f %.1f %.1f %.1f\n", a0, a1, a2, a3, a4); \
}

Definition at line 81 of file drawvg.c.

◆ MOCK_FN_6

#define MOCK_FN_6 (   func)
Value:
void func(cairo_t* cr, double a0, double a1, double a2, double a3, double a4, double a5) { \
update_current_point(cr, #func, a4, a5); \
printf(#func " %.1f %.1f %.1f %.1f %.1f %.1f\n", a0, a1, a2, a3, a4, a5); \
}

Definition at line 86 of file drawvg.c.

◆ MOCK_FN_I

#define MOCK_FN_I (   func,
  type 
)
Value:
void func(cairo_t* cr, type i) { \
printf(#func " %d\n", (int)i); \
}

Definition at line 92 of file drawvg.c.

◆ PRINT_COLOR

#define PRINT_COLOR (   prefix)    printf(prefix "#%02x%02x%02x%02x", (int)(r*255), (int)(g*255), (int)(b*255), (int)(a*255))

Function Documentation

◆ mock_av_log()

static void mock_av_log ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl 
)
static

Definition at line 26 of file drawvg.c.

Referenced by main().

◆ update_current_point()

static void update_current_point ( cairo_t *  cr,
const char *  func,
double  x,
double  y 
)
static

Definition at line 45 of file drawvg.c.

◆ MOCK_FN_5()

MOCK_FN_5 ( cairo_arc  )

◆ MOCK_FN_0() [1/13]

MOCK_FN_0 ( cairo_clip  )

◆ MOCK_FN_0() [2/13]

MOCK_FN_0 ( cairo_clip_preserve  )

◆ MOCK_FN_0() [3/13]

MOCK_FN_0 ( cairo_close_path  )

◆ MOCK_FN_6() [1/2]

MOCK_FN_6 ( cairo_curve_to  )

◆ MOCK_FN_0() [4/13]

MOCK_FN_0 ( cairo_fill  )

◆ MOCK_FN_0() [5/13]

MOCK_FN_0 ( cairo_fill_preserve  )

◆ MOCK_FN_0() [6/13]

MOCK_FN_0 ( cairo_identity_matrix  )

◆ MOCK_FN_2() [1/6]

MOCK_FN_2 ( cairo_line_to  )

◆ MOCK_FN_2() [2/6]

MOCK_FN_2 ( cairo_move_to  )

◆ MOCK_FN_0() [7/13]

MOCK_FN_0 ( cairo_new_path  )

◆ MOCK_FN_0() [8/13]

MOCK_FN_0 ( cairo_new_sub_path  )

◆ MOCK_FN_4() [1/2]

MOCK_FN_4 ( cairo_rectangle  )

◆ MOCK_FN_6() [2/2]

MOCK_FN_6 ( cairo_rel_curve_to  )

◆ MOCK_FN_2() [3/6]

MOCK_FN_2 ( cairo_rel_line_to  )

◆ MOCK_FN_2() [4/6]

MOCK_FN_2 ( cairo_rel_move_to  )

◆ MOCK_FN_0() [9/13]

MOCK_FN_0 ( cairo_reset_clip  )

◆ MOCK_FN_0() [10/13]

MOCK_FN_0 ( cairo_restore  )

◆ MOCK_FN_1() [1/4]

MOCK_FN_1 ( cairo_rotate  )

◆ MOCK_FN_0() [11/13]

MOCK_FN_0 ( cairo_save  )

◆ MOCK_FN_2() [5/6]

MOCK_FN_2 ( cairo_scale  )

◆ MOCK_FN_I() [1/3]

MOCK_FN_I ( cairo_set_fill_rule  ,
cairo_fill_rule_t   
)

◆ MOCK_FN_1() [2/4]

MOCK_FN_1 ( cairo_set_font_size  )

◆ MOCK_FN_I() [2/3]

MOCK_FN_I ( cairo_set_line_cap  ,
cairo_line_cap_t   
)

◆ MOCK_FN_I() [3/3]

MOCK_FN_I ( cairo_set_line_join  ,
cairo_line_join_t   
)

◆ MOCK_FN_1() [3/4]

MOCK_FN_1 ( cairo_set_line_width  )

◆ MOCK_FN_1() [4/4]

MOCK_FN_1 ( cairo_set_miter_limit  )

◆ MOCK_FN_4() [2/2]

MOCK_FN_4 ( cairo_set_source_rgba  )

◆ MOCK_FN_0() [12/13]

MOCK_FN_0 ( cairo_stroke  )

◆ MOCK_FN_0() [13/13]

MOCK_FN_0 ( cairo_stroke_preserve  )

◆ MOCK_FN_2() [6/6]

MOCK_FN_2 ( cairo_translate  )

◆ cairo_get_dash_count()

cairo_bool_t cairo_get_dash_count ( cairo_t *  cr)

Definition at line 129 of file drawvg.c.

Referenced by vgs_eval().

◆ cairo_status()

cairo_status_t cairo_status ( cairo_t *  cr)

Definition at line 133 of file drawvg.c.

Referenced by vgs_eval().

◆ cairo_get_dash()

void cairo_get_dash ( cairo_t *  cr,
double dashes,
double offset 
)

Definition at line 137 of file drawvg.c.

Referenced by vgs_eval().

◆ cairo_set_dash()

void cairo_set_dash ( cairo_t *  cr,
const double dashes,
int  num_dashes,
double  offset 
)

Definition at line 146 of file drawvg.c.

Referenced by vgs_eval().

◆ cairo_has_current_point()

cairo_bool_t cairo_has_current_point ( cairo_t *  cr)

Definition at line 153 of file drawvg.c.

Referenced by vgs_eval().

◆ cairo_get_current_point()

void cairo_get_current_point ( cairo_t *  cr,
double x,
double y 
)

Definition at line 157 of file drawvg.c.

Referenced by draw_cubic_curve_to(), draw_quad_curve_to(), and vgs_eval().

◆ cairo_set_source()

void cairo_set_source ( cairo_t *  cr,
cairo_pattern_t *  source 
)

Definition at line 162 of file drawvg.c.

Referenced by vgs_eval().

◆ check_sorted_cmds_array()

static void check_sorted_cmds_array ( void  )
static

Definition at line 202 of file drawvg.c.

Referenced by main().

◆ check_script()

static void check_script ( int  is_file,
const char *  source 
)
static

Definition at line 222 of file drawvg.c.

Referenced by main().

◆ main()

int main ( int  argc,
const char **  argv 
)

Definition at line 287 of file drawvg.c.

func
int(* func)(AVBPrint *dst, const char *in, const char *arg)
Definition: jacosubdec.c:68
type
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Definition: writing_filters.txt:86
a2
static double a2(void *priv, double x, double y)
Definition: vf_xfade.c:2030
a3
static double a3(void *priv, double x, double y)
Definition: vf_xfade.c:2031
a0
static double a0(void *priv, double x, double y)
Definition: vf_xfade.c:2028
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:256
cr
static double cr(void *priv, double x, double y)
Definition: vf_geq.c:248
a1
static double a1(void *priv, double x, double y)
Definition: vf_xfade.c:2029