Lines Matching refs:edge

71     cairo_edge_t edge;  member
98 cairo_bo_edge_t edge; member
188 events[n].edge.edge.line.p1.x, in dump_edges()
189 events[n].edge.edge.line.p1.y, in dump_edges()
190 events[n].edge.edge.line.p2.x, in dump_edges()
191 events[n].edge.edge.line.p2.y, in dump_edges()
192 events[n].edge.edge.top, in dump_edges()
193 events[n].edge.edge.bottom, in dump_edges()
194 events[n].edge.edge.dir); in dump_edges()
280 int32_t adx = a->edge.line.p2.x - a->edge.line.p1.x; in _slope_compare()
281 int32_t bdx = b->edge.line.p2.x - b->edge.line.p1.x; in _slope_compare()
299 int32_t ady = a->edge.line.p2.y - a->edge.line.p1.y; in _slope_compare()
300 int32_t bdy = b->edge.line.p2.y - b->edge.line.p1.y; in _slope_compare()
363 if (a->edge.line.p1.x < a->edge.line.p2.x) { in edges_compare_x_for_y_general()
364 amin = a->edge.line.p1.x; in edges_compare_x_for_y_general()
365 amax = a->edge.line.p2.x; in edges_compare_x_for_y_general()
367 amin = a->edge.line.p2.x; in edges_compare_x_for_y_general()
368 amax = a->edge.line.p1.x; in edges_compare_x_for_y_general()
370 if (b->edge.line.p1.x < b->edge.line.p2.x) { in edges_compare_x_for_y_general()
371 bmin = b->edge.line.p1.x; in edges_compare_x_for_y_general()
372 bmax = b->edge.line.p2.x; in edges_compare_x_for_y_general()
374 bmin = b->edge.line.p2.x; in edges_compare_x_for_y_general()
375 bmax = b->edge.line.p1.x; in edges_compare_x_for_y_general()
381 ady = a->edge.line.p2.y - a->edge.line.p1.y; in edges_compare_x_for_y_general()
382 adx = a->edge.line.p2.x - a->edge.line.p1.x; in edges_compare_x_for_y_general()
386 bdy = b->edge.line.p2.y - b->edge.line.p1.y; in edges_compare_x_for_y_general()
387 bdx = b->edge.line.p2.x - b->edge.line.p1.x; in edges_compare_x_for_y_general()
391 dx = a->edge.line.p1.x - b->edge.line.p1.x; in edges_compare_x_for_y_general()
396 #define A _cairo_int64x32_128_mul (_cairo_int32x32_64_mul (adx, bdy), y - a->edge.line.p1.y) in edges_compare_x_for_y_general()
397 #define B _cairo_int64x32_128_mul (_cairo_int32x32_64_mul (bdx, ady), y - b->edge.line.p1.y) in edges_compare_x_for_y_general()
415 } else if (a->edge.line.p1.y == b->edge.line.p1.y) { /* common origin */ in edges_compare_x_for_y_general()
434 dy_adx = _cairo_int32x32_64_mul (a->edge.line.p1.y - y, adx); in edges_compare_x_for_y_general()
446 dy_bdx = _cairo_int32x32_64_mul (y - b->edge.line.p1.y, bdx); in edges_compare_x_for_y_general()
489 if (x < a->edge.line.p1.x && x < a->edge.line.p2.x) in edge_compare_for_y_against_x()
491 if (x > a->edge.line.p1.x && x > a->edge.line.p2.x) in edge_compare_for_y_against_x()
494 adx = a->edge.line.p2.x - a->edge.line.p1.x; in edge_compare_for_y_against_x()
495 dx = x - a->edge.line.p1.x; in edge_compare_for_y_against_x()
502 dy = y - a->edge.line.p1.y; in edge_compare_for_y_against_x()
503 ady = a->edge.line.p2.y - a->edge.line.p1.y; in edge_compare_for_y_against_x()
529 if (y == a->edge.line.p1.y) in edges_compare_x_for_y()
530 ax = a->edge.line.p1.x; in edges_compare_x_for_y()
531 else if (y == a->edge.line.p2.y) in edges_compare_x_for_y()
532 ax = a->edge.line.p2.x; in edges_compare_x_for_y()
536 if (y == b->edge.line.p1.y) in edges_compare_x_for_y()
537 bx = b->edge.line.p1.x; in edges_compare_x_for_y()
538 else if (y == b->edge.line.p2.y) in edges_compare_x_for_y()
539 bx = b->edge.line.p2.x; in edges_compare_x_for_y()
571 if (! _line_equal (&a->edge.line, &b->edge.line)) { in _cairo_bo_sweep_line_compare_edges()
587 return b->edge.bottom - a->edge.bottom; in _cairo_bo_sweep_line_compare_edges()
627 int32_t dx1 = a->edge.line.p1.x - a->edge.line.p2.x; in intersect_lines()
628 int32_t dy1 = a->edge.line.p1.y - a->edge.line.p2.y; in intersect_lines()
630 int32_t dx2 = b->edge.line.p1.x - b->edge.line.p2.x; in intersect_lines()
631 int32_t dy2 = b->edge.line.p1.y - b->edge.line.p2.y; in intersect_lines()
659 b->edge.line.p1.x - a->edge.line.p1.x, in intersect_lines()
660 b->edge.line.p1.y - a->edge.line.p1.y); in intersect_lines()
670 a->edge.line.p1.y - b->edge.line.p1.y, in intersect_lines()
671 a->edge.line.p1.x - b->edge.line.p1.x); in intersect_lines()
682 a_det = det32_64 (a->edge.line.p1.x, a->edge.line.p1.y, in intersect_lines()
683 a->edge.line.p2.x, a->edge.line.p2.y); in intersect_lines()
684 b_det = det32_64 (b->edge.line.p1.x, b->edge.line.p1.y, in intersect_lines()
685 b->edge.line.p2.x, b->edge.line.p2.y); in intersect_lines()
768 _cairo_bo_edge_contains_intersect_point (cairo_bo_edge_t *edge, in _cairo_bo_edge_contains_intersect_point() argument
781 edge->edge.top); in _cairo_bo_edge_contains_intersect_point()
783 edge->edge.bottom); in _cairo_bo_edge_contains_intersect_point()
809 top_x = _line_compute_intersection_x_for_y (&edge->edge.line, in _cairo_bo_edge_contains_intersect_point()
810 edge->edge.top); in _cairo_bo_edge_contains_intersect_point()
815 bot_x = _line_compute_intersection_x_for_y (&edge->edge.line, in _cairo_bo_edge_contains_intersect_point()
816 edge->edge.bottom); in _cairo_bo_edge_contains_intersect_point()
1056 cairo_bo_edge_t *edge) in _cairo_bo_event_queue_insert_stop() argument
1060 point.y = edge->edge.bottom; in _cairo_bo_event_queue_insert_stop()
1061 point.x = _line_compute_intersection_x_for_y (&edge->edge.line, in _cairo_bo_event_queue_insert_stop()
1065 edge, NULL, in _cairo_bo_event_queue_insert_stop()
1083 if (_line_equal (&left->edge.line, &right->edge.line)) in _cairo_bo_event_queue_insert_if_intersect_below_current_y()
1114 cairo_bo_edge_t *edge) in _cairo_bo_sweep_line_insert() argument
1122 edge); in _cairo_bo_sweep_line_insert()
1128 next, edge) < 0) in _cairo_bo_sweep_line_insert()
1133 prev->next = edge; in _cairo_bo_sweep_line_insert()
1134 edge->prev = prev; in _cairo_bo_sweep_line_insert()
1135 edge->next = next; in _cairo_bo_sweep_line_insert()
1137 next->prev = edge; in _cairo_bo_sweep_line_insert()
1143 prev, edge) > 0) in _cairo_bo_sweep_line_insert()
1148 next->prev = edge; in _cairo_bo_sweep_line_insert()
1149 edge->next = next; in _cairo_bo_sweep_line_insert()
1150 edge->prev = prev; in _cairo_bo_sweep_line_insert()
1152 prev->next = edge; in _cairo_bo_sweep_line_insert()
1154 sweep_line->head = edge; in _cairo_bo_sweep_line_insert()
1157 edge->prev = prev; in _cairo_bo_sweep_line_insert()
1158 edge->next = prev->next; in _cairo_bo_sweep_line_insert()
1160 prev->next->prev = edge; in _cairo_bo_sweep_line_insert()
1161 prev->next = edge; in _cairo_bo_sweep_line_insert()
1164 sweep_line->head = edge; in _cairo_bo_sweep_line_insert()
1167 sweep_line->current_edge = edge; in _cairo_bo_sweep_line_insert()
1174 cairo_bo_edge_t *edge) in _cairo_bo_sweep_line_delete() argument
1176 if (edge->prev != NULL) in _cairo_bo_sweep_line_delete()
1177 edge->prev->next = edge->next; in _cairo_bo_sweep_line_delete()
1179 sweep_line->head = edge->next; in _cairo_bo_sweep_line_delete()
1181 if (edge->next != NULL) in _cairo_bo_sweep_line_delete()
1182 edge->next->prev = edge->prev; in _cairo_bo_sweep_line_delete()
1184 if (sweep_line->current_edge == edge) in _cairo_bo_sweep_line_delete()
1185 sweep_line->current_edge = edge->prev ? edge->prev : edge->next; in _cairo_bo_sweep_line_delete()
1210 _cairo_bo_edge_print (cairo_bo_edge_t *edge) in _cairo_bo_edge_print() argument
1213 edge->edge.line.p1.x, edge->edge.line.p1.y, in _cairo_bo_edge_print()
1214 edge->edge.line.p2.x, edge->edge.line.p2.y); in _cairo_bo_edge_print()
1251 cairo_bo_edge_t *edge; in _cairo_bo_sweep_line_print() local
1255 for (edge = sweep_line->head; in _cairo_bo_sweep_line_print()
1256 edge; in _cairo_bo_sweep_line_print()
1257 edge = edge->next) in _cairo_bo_sweep_line_print()
1261 _cairo_bo_edge_print (edge); in _cairo_bo_sweep_line_print()
1306 if (_line_equal (&a->edge.line, &b->edge.line)) in edges_colinear()
1315 if (a->edge.line.p1.y == b->edge.line.p1.y) { in edges_colinear()
1316 return a->edge.line.p1.x == b->edge.line.p1.x; in edges_colinear()
1317 } else if (a->edge.line.p1.y < b->edge.line.p1.y) { in edges_colinear()
1319 a->edge.line.p1.y, in edges_colinear()
1320 a->edge.line.p1.x) == 0; in edges_colinear()
1323 b->edge.line.p1.y, in edges_colinear()
1324 b->edge.line.p1.x) == 0; in edges_colinear()
1340 &left->edge.line, &trap->right->edge.line); in _cairo_bo_edge_end_trap()
1345 left->edge.line.p1.x, left->edge.line.p1.y, in _cairo_bo_edge_end_trap()
1346 left->edge.line.p2.x, left->edge.line.p2.y, in _cairo_bo_edge_end_trap()
1347 trap->right->edge.line.p1.x, trap->right->edge.line.p1.y, in _cairo_bo_edge_end_trap()
1348 trap->right->edge.line.p2.x, trap->right->edge.line.p2.y, in _cairo_bo_edge_end_trap()
1430 in_out = left->edge.dir; in _active_edges_to_traps()
1454 in_out += right->edge.dir; in _active_edges_to_traps()
1549 (long) &events[i].edge, in _cairo_bentley_ottmann_tessellate_bo_edges()
1550 event->edge.edge.line.p1.x, in _cairo_bentley_ottmann_tessellate_bo_edges()
1551 event->edge.edge.line.p1.y, in _cairo_bentley_ottmann_tessellate_bo_edges()
1552 event->edge.edge.line.p2.x, in _cairo_bentley_ottmann_tessellate_bo_edges()
1553 event->edge.edge.line.p2.y, in _cairo_bentley_ottmann_tessellate_bo_edges()
1554 event->edge.top, in _cairo_bentley_ottmann_tessellate_bo_edges()
1555 event->edge.bottom, in _cairo_bentley_ottmann_tessellate_bo_edges()
1556 event->edge.edge.dir); in _cairo_bentley_ottmann_tessellate_bo_edges()
1569 e1->edge.bottom, in _cairo_bentley_ottmann_tessellate_bo_edges()
1597 e1 = &((cairo_bo_start_event_t *) event)->edge; in _cairo_bentley_ottmann_tessellate_bo_edges()
1610 if (e1->edge.top <= left->edge.bottom && in _cairo_bentley_ottmann_tessellate_bo_edges()
1704 status = _cairo_bo_edge_end_trap (e1, e1->edge.bottom, traps); in _cairo_bentley_ottmann_tessellate_bo_edges()
1759 events[i].edge.edge = polygon->edges[i]; in _cairo_bentley_ottmann_tessellate_polygon()
1760 events[i].edge.deferred_trap.right = NULL; in _cairo_bentley_ottmann_tessellate_polygon()
1761 events[i].edge.prev = NULL; in _cairo_bentley_ottmann_tessellate_polygon()
1762 events[i].edge.next = NULL; in _cairo_bentley_ottmann_tessellate_polygon()
2100 cairo_bo_edge_t random_edges[MAX_RANDOM], *edge;
2113 edge = &random_edges[i];
2114 edge->line.p1.x = (int32_t) (10.0 * (rand() / (RAND_MAX + 1.0)));
2115 edge->line.p1.y = (int32_t) (10.0 * (rand() / (RAND_MAX + 1.0)));
2116 edge->line.p2.x = (int32_t) (10.0 * (rand() / (RAND_MAX + 1.0)));
2117 edge->line.p2.y = (int32_t) (10.0 * (rand() / (RAND_MAX + 1.0)));
2118 if (edge->line.p1.y > edge->line.p2.y) {
2119 int32_t tmp = edge->line.p1.y;
2120 edge->line.p1.y = edge->line.p2.y;
2121 edge->line.p2.y = tmp;
2123 } while (edge->line.p1.y == edge->line.p2.y);