w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

cairo-path-fixed.c File Reference
Include dependency graph for cairo-path-fixed.c:

Go to the source code of this file.

Classes

struct  _cairo_path_fixed_append_closure
 
struct  cairo_path_flattener
 

Macros

#define STRINGIFYFLAG(x)   (path->x ? #x " " : "")
 

Typedefs

typedef int compile_time_assertion_at_line___LINE___failed[(sizeof(cairo_path_op_t)==1)?1:-1]
 
typedef struct _cairo_path_fixed_append_closure cairo_path_fixed_append_closure_t
 
typedef struct cairo_path_flattener cpf_t
 

Functions

static cairo_status_t _cairo_path_fixed_add (cairo_path_fixed_t *path, cairo_path_op_t op, const cairo_point_t *points, int num_points)
 
static void _cairo_path_fixed_add_buf (cairo_path_fixed_t *path, cairo_path_buf_t *buf)
 
static cairo_path_buf_t_cairo_path_buf_create (int size_ops, int size_points)
 
static void _cairo_path_buf_destroy (cairo_path_buf_t *buf)
 
static void _cairo_path_buf_add_op (cairo_path_buf_t *buf, cairo_path_op_t op)
 
static void _cairo_path_buf_add_points (cairo_path_buf_t *buf, const cairo_point_t *points, int num_points)
 
void _cairo_path_fixed_init (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_init_copy (cairo_path_fixed_t *path, const cairo_path_fixed_t *other)
 
unsigned long _cairo_path_fixed_hash (const cairo_path_fixed_t *path)
 
unsigned long _cairo_path_fixed_size (const cairo_path_fixed_t *path)
 
cairo_bool_t _cairo_path_fixed_equal (const cairo_path_fixed_t *a, const cairo_path_fixed_t *b)
 
cairo_path_fixed_t_cairo_path_fixed_create (void)
 
void _cairo_path_fixed_fini (cairo_path_fixed_t *path)
 
void _cairo_path_fixed_destroy (cairo_path_fixed_t *path)
 
static cairo_path_op_t _cairo_path_fixed_last_op (cairo_path_fixed_t *path)
 
static const cairo_point_t_cairo_path_fixed_penultimate_point (cairo_path_fixed_t *path)
 
static void _cairo_path_fixed_drop_line_to (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_move_to (cairo_path_fixed_t *path, cairo_fixed_t x, cairo_fixed_t y)
 
static cairo_status_t _cairo_path_fixed_move_to_apply (cairo_path_fixed_t *path)
 
void _cairo_path_fixed_new_sub_path (cairo_path_fixed_t *path)
 
cairo_status_t _cairo_path_fixed_rel_move_to (cairo_path_fixed_t *path, cairo_fixed_t dx, cairo_fixed_t dy)
 
cairo_status_t _cairo_path_fixed_line_to (cairo_path_fixed_t *path, cairo_fixed_t x, cairo_fixed_t y)
 
cairo_status_t _cairo_path_fixed_rel_line_to (cairo_path_fixed_t *path, cairo_fixed_t dx, cairo_fixed_t dy)
 
cairo_status_t _cairo_path_fixed_curve_to (cairo_path_fixed_t *path, cairo_fixed_t x0, cairo_fixed_t y0, cairo_fixed_t x1, cairo_fixed_t y1, cairo_fixed_t x2, cairo_fixed_t y2)
 
cairo_status_t _cairo_path_fixed_rel_curve_to (cairo_path_fixed_t *path, cairo_fixed_t dx0, cairo_fixed_t dy0, cairo_fixed_t dx1, cairo_fixed_t dy1, cairo_fixed_t dx2, cairo_fixed_t dy2)
 
cairo_status_t _cairo_path_fixed_close_path (cairo_path_fixed_t *path)
 
cairo_bool_t _cairo_path_fixed_get_current_point (cairo_path_fixed_t *path, cairo_fixed_t *x, cairo_fixed_t *y)
 
cairo_status_t _cairo_path_fixed_interpret (const cairo_path_fixed_t *path, cairo_path_fixed_move_to_func_t *move_to, cairo_path_fixed_line_to_func_t *line_to, cairo_path_fixed_curve_to_func_t *curve_to, cairo_path_fixed_close_path_func_t *close_path, void *closure)
 
static cairo_status_t _append_move_to (void *abstract_closure, const cairo_point_t *point)
 
static cairo_status_t _append_line_to (void *abstract_closure, const cairo_point_t *point)
 
static cairo_status_t _append_curve_to (void *abstract_closure, const cairo_point_t *p0, const cairo_point_t *p1, const cairo_point_t *p2)
 
static cairo_status_t _append_close_path (void *abstract_closure)
 
cairo_status_t _cairo_path_fixed_append (cairo_path_fixed_t *path, const cairo_path_fixed_t *other, cairo_fixed_t tx, cairo_fixed_t ty)
 
static void _cairo_path_fixed_offset_and_scale (cairo_path_fixed_t *path, cairo_fixed_t offx, cairo_fixed_t offy, cairo_fixed_t scalex, cairo_fixed_t scaley)
 
void _cairo_path_fixed_translate (cairo_path_fixed_t *path, cairo_fixed_t offx, cairo_fixed_t offy)
 
static void _cairo_path_fixed_transform_point (cairo_point_t *p, const cairo_matrix_t *matrix)
 
void _cairo_path_fixed_transform (cairo_path_fixed_t *path, const cairo_matrix_t *matrix)
 
static cairo_status_t _cpf_move_to (void *closure, const cairo_point_t *point)
 
static cairo_status_t _cpf_line_to (void *closure, const cairo_point_t *point)
 
static cairo_status_t _cpf_curve_to (void *closure, const cairo_point_t *p1, const cairo_point_t *p2, const cairo_point_t *p3)
 
static cairo_status_t _cpf_close_path (void *closure)
 
cairo_status_t _cairo_path_fixed_interpret_flat (const cairo_path_fixed_t *path, cairo_path_fixed_move_to_func_t *move_to, cairo_path_fixed_line_to_func_t *line_to, cairo_path_fixed_close_path_func_t *close_path, void *closure, double tolerance)
 
static void _canonical_box (cairo_box_t *box, const cairo_point_t *p1, const cairo_point_t *p2)
 
static cairo_bool_t _path_is_quad (const cairo_path_fixed_t *path)
 
static cairo_bool_t _points_form_rect (const cairo_point_t *points)
 
cairo_bool_t _cairo_path_fixed_is_box (const cairo_path_fixed_t *path, cairo_box_t *box)
 
static cairo_bool_t _lines_intersect_or_are_coincident (cairo_point_t a, cairo_point_t b, cairo_point_t c, cairo_point_t d)
 
cairo_bool_t _cairo_path_fixed_is_simple_quad (const cairo_path_fixed_t *path)
 
cairo_bool_t _cairo_path_fixed_is_stroke_box (const cairo_path_fixed_t *path, cairo_box_t *box)
 
cairo_bool_t _cairo_path_fixed_is_rectangle (const cairo_path_fixed_t *path, cairo_box_t *box)
 
void _cairo_path_fixed_iter_init (cairo_path_fixed_iter_t *iter, const cairo_path_fixed_t *path)
 
static cairo_bool_t _cairo_path_fixed_iter_next_op (cairo_path_fixed_iter_t *iter)
 
cairo_bool_t _cairo_path_fixed_iter_is_fill_box (cairo_path_fixed_iter_t *_iter, cairo_box_t *box)
 
cairo_bool_t _cairo_path_fixed_iter_at_end (const cairo_path_fixed_iter_t *iter)
 

Macro Definition Documentation

◆ STRINGIFYFLAG

#define STRINGIFYFLAG (   x)    (path->x ? #x " " : "")

Typedef Documentation

◆ cairo_path_fixed_append_closure_t

◆ compile_time_assertion_at_line___LINE___failed

typedef int compile_time_assertion_at_line___LINE___failed[(sizeof(cairo_path_op_t)==1)?1:-1]

Definition at line 760 of file cairo-path-fixed.c.

◆ cpf_t

typedef struct cairo_path_flattener cpf_t

Function Documentation

◆ _append_close_path()

static cairo_status_t _append_close_path ( void abstract_closure)
static

Definition at line 901 of file cairo-path-fixed.c.

References _cairo_path_fixed_close_path().

Referenced by _cairo_path_fixed_append().

◆ _append_curve_to()

static cairo_status_t _append_curve_to ( void abstract_closure,
const cairo_point_t p0,
const cairo_point_t p1,
const cairo_point_t p2 
)
static

Definition at line 884 of file cairo-path-fixed.c.

References _cairo_path_fixed_curve_to(), p0, p1, and p2.

Referenced by _cairo_path_fixed_append().

◆ _append_line_to()

static cairo_status_t _append_line_to ( void abstract_closure,
const cairo_point_t point 
)
static

Definition at line 873 of file cairo-path-fixed.c.

References _cairo_path_fixed_line_to(), point::x, and point::y.

Referenced by _cairo_path_fixed_append().

◆ _append_move_to()

static cairo_status_t _append_move_to ( void abstract_closure,
const cairo_point_t point 
)
static

Definition at line 862 of file cairo-path-fixed.c.

References _cairo_path_fixed_move_to(), point::x, and point::y.

Referenced by _cairo_path_fixed_append().

◆ _cairo_path_buf_add_op()

static void _cairo_path_buf_add_op ( cairo_path_buf_t buf,
cairo_path_op_t  op 
)
static

Definition at line 789 of file cairo-path-fixed.c.

References buf, and op.

Referenced by _cairo_path_fixed_add().

◆ _cairo_path_buf_add_points()

static void _cairo_path_buf_add_points ( cairo_path_buf_t buf,
const cairo_point_t points,
int  num_points 
)
static

Definition at line 796 of file cairo-path-fixed.c.

References buf, memcpy, points, and sizeof().

Referenced by _cairo_path_fixed_add().

◆ _cairo_path_buf_create()

static cairo_path_buf_t * _cairo_path_buf_create ( int  size_ops,
int  size_points 
)
static

Definition at line 762 of file cairo-path-fixed.c.

References _cairo_malloc_ab_plus_c, and buf.

Referenced by _cairo_path_fixed_add(), and _cairo_path_fixed_init_copy().

◆ _cairo_path_buf_destroy()

static void _cairo_path_buf_destroy ( cairo_path_buf_t buf)
static

Definition at line 783 of file cairo-path-fixed.c.

References buf, and free.

Referenced by _cairo_path_fixed_fini().

◆ _cairo_path_fixed_add()

◆ _cairo_path_fixed_add_buf()

static void _cairo_path_fixed_add_buf ( cairo_path_fixed_t path,
cairo_path_buf_t buf 
)
static

◆ _cairo_path_fixed_append()

cairo_status_t _cairo_path_fixed_append ( cairo_path_fixed_t path,
const cairo_path_fixed_t other,
cairo_fixed_t  tx,
cairo_fixed_t  ty 
)

Definition at line 909 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_close_path()

◆ _cairo_path_fixed_create()

◆ _cairo_path_fixed_curve_to()

◆ _cairo_path_fixed_destroy()

◆ _cairo_path_fixed_drop_line_to()

◆ _cairo_path_fixed_equal()

cairo_bool_t _cairo_path_fixed_equal ( const cairo_path_fixed_t a,
const cairo_path_fixed_t b 
)

Definition at line 218 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_fini()

◆ _cairo_path_fixed_get_current_point()

◆ _cairo_path_fixed_hash()

unsigned long _cairo_path_fixed_hash ( const cairo_path_fixed_t path)

Definition at line 176 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_init()

◆ _cairo_path_fixed_init_copy()

◆ _cairo_path_fixed_interpret()

◆ _cairo_path_fixed_interpret_flat()

◆ _cairo_path_fixed_is_box()

◆ _cairo_path_fixed_is_rectangle()

cairo_bool_t _cairo_path_fixed_is_rectangle ( const cairo_path_fixed_t path,
cairo_box_t box 
)

◆ _cairo_path_fixed_is_simple_quad()

cairo_bool_t _cairo_path_fixed_is_simple_quad ( const cairo_path_fixed_t path)

Definition at line 1365 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_is_stroke_box()

cairo_bool_t _cairo_path_fixed_is_stroke_box ( const cairo_path_fixed_t path,
cairo_box_t box 
)

Definition at line 1388 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_iter_at_end()

cairo_bool_t _cairo_path_fixed_iter_at_end ( const cairo_path_fixed_iter_t iter)

Definition at line 1583 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_iter_init()

void _cairo_path_fixed_iter_init ( cairo_path_fixed_iter_t iter,
const cairo_path_fixed_t path 
)

Definition at line 1463 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_iter_is_fill_box()

cairo_bool_t _cairo_path_fixed_iter_is_fill_box ( cairo_path_fixed_iter_t _iter,
cairo_box_t box 
)

Definition at line 1489 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_iter_next_op()

◆ _cairo_path_fixed_last_op()

◆ _cairo_path_fixed_line_to()

◆ _cairo_path_fixed_move_to()

◆ _cairo_path_fixed_move_to_apply()

◆ _cairo_path_fixed_new_sub_path()

void _cairo_path_fixed_new_sub_path ( cairo_path_fixed_t path)

◆ _cairo_path_fixed_offset_and_scale()

◆ _cairo_path_fixed_penultimate_point()

static const cairo_point_t* _cairo_path_fixed_penultimate_point ( cairo_path_fixed_t path)
inlinestatic

◆ _cairo_path_fixed_rel_curve_to()

◆ _cairo_path_fixed_rel_line_to()

◆ _cairo_path_fixed_rel_move_to()

◆ _cairo_path_fixed_size()

unsigned long _cairo_path_fixed_size ( const cairo_path_fixed_t path)

Definition at line 202 of file cairo-path-fixed.c.

◆ _cairo_path_fixed_transform()

◆ _cairo_path_fixed_transform_point()

static void _cairo_path_fixed_transform_point ( cairo_point_t p,
const cairo_matrix_t matrix 
)
inlinestatic

◆ _cairo_path_fixed_translate()

void _cairo_path_fixed_translate ( cairo_path_fixed_t path,
cairo_fixed_t  offx,
cairo_fixed_t  offy 
)

Definition at line 987 of file cairo-path-fixed.c.

Referenced by _cairo_path_fixed_offset_and_scale().

◆ _canonical_box()

static void _canonical_box ( cairo_box_t box,
const cairo_point_t p1,
const cairo_point_t p2 
)
inlinestatic

Definition at line 1202 of file cairo-path-fixed.c.

References p1, and p2.

Referenced by _cairo_path_fixed_is_box(), and _cairo_path_fixed_is_stroke_box().

◆ _cpf_close_path()

static cairo_status_t _cpf_close_path ( void closure)
static

◆ _cpf_curve_to()

◆ _cpf_line_to()

◆ _cpf_move_to()

◆ _lines_intersect_or_are_coincident()

◆ _path_is_quad()

◆ _points_form_rect()

static cairo_bool_t _points_form_rect ( const cairo_point_t points)
inlinestatic

Definition at line 1266 of file cairo-path-fixed.c.

References FALSE, points, TRUE, cordic::x, and y.

Referenced by _cairo_path_fixed_is_box(), and _cairo_path_fixed_is_simple_quad().