third_party/cairo/src/cairo-tor22-scan-converter.c
static void
cell_list_render_edge(struct cell_list *cells,
		      struct edge *edge,
		      int sign)
{
    grid_scaled_x_t fx;
    struct cell *cell;
    int ix;

    GRID_X_TO_INT_FRAC(edge->x.quo, ix, fx);

    /* We always know that ix1 is >= the cell list cursor in this
     * case due to the no-intersections precondition.  */
    cell = cell_list_find(cells, ix);
    cell->covered_height += sign*GRID_Y;
    cell->uncovered_area += sign*2*fx*GRID_Y;
}
/* Adds the analytical coverage of an edge crossing the current pixel
 * row to the coverage cells and advances the edge's x position to the
 * following row.
 *
 * This function is only called when we know that during this pixel row:
 *
 * 1) The relative order of all edges on the active list doesn't
 * change.  In particular, no edges intersect within this row to pixel
 * precision.
 *
 * 2) No new edges start in this row.
 *
 * 3) No existing edges end mid-row.
 *
 * This function depends on being called with all edges from the
 * active list in the order they appear on the list (i.e. with
 * non-decreasing x-coordinate.)  */
Adds the analytical coverage of an edge crossing the current pixel
row to the coverage cells and advances the edge's x position to the
following row.

This function is only called when we know that during this pixel row.

1) The relative order of all edges on the active list doesn't
change.  In particular, no edges intersect within this row to pixel
precision.

2) No new edges start in this row.

3) No existing edges end mid-row.

This function depends on being called with all edges from the
active list in the order they appear on the list
Adds the analytical coverage of an edge crossing the current pixel row to the coverage cells and advances the edge ' s x position to the following row . This function is only called when we know that during this pixel row . 1 ) The relative order of all edges on the active list doesn ' t change . In particular no edges intersect within this row to pixel precision . 2 ) No new edges start in this row . 3 ) No existing edges end mid - row . This function depends on being called with all edges from the active list in the order they appear on the list
static void
cell_list_render_edge(struct cell_list *cells,
		      struct edge *edge,
		      int sign)
{
    grid_scaled_x_t fx;
    struct cell *cell;
    int ix;
    GRID_X_TO_INT_FRAC(edge->x.quo, ix, fx);
    cell = cell_list_find(cells, ix);
    cell->covered_height += sign*GRID_Y;
    cell->uncovered_area += sign*2*fx*GRID_Y;
}
static void cell_list_render_edge ( struct cell_list * cells , struct edge * edge , int sign ) { grid_scaled_x_t fx ; struct cell * cell ; int ix ; GRID_X_TO_INT_FRAC ( edge -> x . quo , ix , fx ) ; cell = cell_list_find ( cells , ix ) ; cell -> covered_height += sign * GRID_Y ; cell -> uncovered_area += sign * 2 * fx * GRID_Y ; }
Adds the analytical coverage of an edge crossing the current pixel
 row to the coverage cells and advances the edge's x position to the
 following row.
Adds the analytical coverage of an edge crossing the current pixel row to the coverage cells and advances the edge ' s x position to the following row .
/* We always know that ix1 is >= the cell list cursor in this
     * case due to the no-intersections precondition.  */