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)  

pixman-trap.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include "pixman-private.h"
Include dependency graph for pixman-trap.c:

Go to the source code of this file.

Macros

#define EXTEND_MIN(x)
 
#define EXTEND_MAX(x)
 
#define EXTEND(x)
 

Functions

pixman_fixed_t pixman_sample_ceil_y (pixman_fixed_t y, int n)
 
pixman_fixed_t pixman_sample_floor_y (pixman_fixed_t y, int n)
 
void pixman_edge_step (pixman_edge_t *e, int n)
 
static void _pixman_edge_multi_init (pixman_edge_t *e, int n, pixman_fixed_t *stepx_p, pixman_fixed_t *dx_p)
 
void pixman_edge_init (pixman_edge_t *e, int n, pixman_fixed_t y_start, pixman_fixed_t x_top, pixman_fixed_t y_top, pixman_fixed_t x_bot, pixman_fixed_t y_bot)
 
void pixman_line_fixed_edge_init (pixman_edge_t *e, int n, pixman_fixed_t y, const pixman_line_fixed_t *line, int x_off, int y_off)
 
void pixman_add_traps (pixman_image_t *image, int16_t x_off, int16_t y_off, int ntrap, const pixman_trap_t *traps)
 
void pixman_add_trapezoids (pixman_image_t *image, int16_t x_off, int y_off, int ntraps, const pixman_trapezoid_t *traps)
 
void pixman_rasterize_trapezoid (pixman_image_t *image, const pixman_trapezoid_t *trap, int x_off, int y_off)
 
static pixman_bool_t get_trap_extents (pixman_op_t op, pixman_image_t *dest, const pixman_trapezoid_t *traps, int n_traps, pixman_box32_t *box)
 
void pixman_composite_trapezoids (pixman_op_t op, pixman_image_t *src, pixman_image_t *dst, pixman_format_code_t mask_format, int x_src, int y_src, int x_dst, int y_dst, int n_traps, const pixman_trapezoid_t *traps)
 
static int greater_y (const pixman_point_fixed_t *a, const pixman_point_fixed_t *b)
 
static int clockwise (const pixman_point_fixed_t *ref, const pixman_point_fixed_t *a, const pixman_point_fixed_t *b)
 
static void triangle_to_trapezoids (const pixman_triangle_t *tri, pixman_trapezoid_t *traps)
 
static pixman_trapezoid_tconvert_triangles (int n_tris, const pixman_triangle_t *tris)
 
void pixman_composite_triangles (pixman_op_t op, pixman_image_t *src, pixman_image_t *dst, pixman_format_code_t mask_format, int x_src, int y_src, int x_dst, int y_dst, int n_tris, const pixman_triangle_t *tris)
 
void pixman_add_triangles (pixman_image_t *image, int32_t x_off, int32_t y_off, int n_tris, const pixman_triangle_t *tris)
 

Variables

static const pixman_bool_t zero_src_has_no_effect [PIXMAN_N_OPERATORS]
 

Macro Definition Documentation

◆ EXTEND

#define EXTEND (   x)
Value:
EXTEND_MAX(x);
float x
Definition: cordic.py:15
#define EXTEND_MIN(x)

◆ EXTEND_MAX

#define EXTEND_MAX (   x)
Value:
#define pixman_fixed_ceil(f)
Definition: pixman.h:135
#define pixman_fixed_to_int(f)
Definition: pixman.h:129
Definition: jquant2.c:258

◆ EXTEND_MIN

#define EXTEND_MIN (   x)
Value:
if (pixman_fixed_to_int ((x)) < box->x1) \
box->x1 = pixman_fixed_to_int ((x));

Function Documentation

◆ _pixman_edge_multi_init()

static void _pixman_edge_multi_init ( pixman_edge_t e,
int  n,
pixman_fixed_t stepx_p,
pixman_fixed_t dx_p 
)
static

Definition at line 128 of file pixman-trap.c.

References e, if, n, and ne.

Referenced by pixman_edge_init().

◆ clockwise()

Definition at line 563 of file pixman-trap.c.

References a, b, pdf-org::ref(), pixman_point_fixed::x, and pixman_point_fixed::y.

Referenced by triangle_to_trapezoids().

◆ convert_triangles()

static pixman_trapezoid_t* convert_triangles ( int  n_tris,
const pixman_triangle_t tris 
)
static

Definition at line 653 of file pixman-trap.c.

References i, NULL, pixman_malloc_ab(), and triangle_to_trapezoids().

Referenced by pixman_add_triangles(), and pixman_composite_triangles().

◆ get_trap_extents()

static pixman_bool_t get_trap_extents ( pixman_op_t  op,
pixman_image_t dest,
const pixman_trapezoid_t traps,
int  n_traps,
pixman_box32_t box 
)
static

◆ greater_y()

static int greater_y ( const pixman_point_fixed_t a,
const pixman_point_fixed_t b 
)
static

Definition at line 551 of file pixman-trap.c.

References a, and b.

Referenced by triangle_to_trapezoids().

◆ pixman_add_trapezoids()

void pixman_add_trapezoids ( pixman_image_t image,
int16_t  x_off,
int  y_off,
int  ntraps,
const pixman_trapezoid_t traps 
)

Definition at line 318 of file pixman-trap.c.

References i, pixman_rasterize_trapezoid(), pixman_trapezoid_valid, and trap.

Referenced by pixman_add_triangles().

◆ pixman_add_traps()

◆ pixman_add_triangles()

void pixman_add_triangles ( pixman_image_t image,
int32_t  x_off,
int32_t  y_off,
int  n_tris,
const pixman_triangle_t tris 
)

Definition at line 696 of file pixman-trap.c.

References convert_triangles(), free, and pixman_add_trapezoids().

Referenced by _pixman_image_add_tristrip().

◆ pixman_composite_trapezoids()

◆ pixman_composite_triangles()

void pixman_composite_triangles ( pixman_op_t  op,
pixman_image_t src,
pixman_image_t dst,
pixman_format_code_t  mask_format,
int  x_src,
int  y_src,
int  x_dst,
int  y_dst,
int  n_tris,
const pixman_triangle_t tris 
)

◆ pixman_edge_init()

void pixman_edge_init ( pixman_edge_t e,
int  n,
pixman_fixed_t  y_start,
pixman_fixed_t  x_top,
pixman_fixed_t  y_top,
pixman_fixed_t  x_bot,
pixman_fixed_t  y_bot 
)

◆ pixman_edge_step()

void pixman_edge_step ( pixman_edge_t e,
int  n 
)

Definition at line 94 of file pixman-trap.c.

References e, if, n, and ne.

Referenced by pixman_edge_init().

◆ pixman_line_fixed_edge_init()

void pixman_line_fixed_edge_init ( pixman_edge_t e,
int  n,
pixman_fixed_t  y,
const pixman_line_fixed_t line,
int  x_off,
int  y_off 
)

◆ pixman_rasterize_trapezoid()

◆ pixman_sample_ceil_y()

◆ pixman_sample_floor_y()

◆ triangle_to_trapezoids()

Variable Documentation

◆ zero_src_has_no_effect

const pixman_bool_t zero_src_has_no_effect[PIXMAN_N_OPERATORS]
static
Initial value:
=
{
0 ,
0 ,
1 ,
1 ,
1 ,
0 ,
0 ,
0 ,
1 ,
1 ,
0 ,
1 ,
1 ,
}

Definition at line 390 of file pixman-trap.c.

Referenced by get_trap_extents().