Lines Matching refs:arc

343   /* States of each line, arc, and profile */
495 TPoint* arc; /* current Bezier arc pointer */
508 Bool joint; /* signals that the last arc ended */
592 * given y-monotonous Bezier arc that crosses a scanline before
942 /* Subdivide a third-order Bezier arc into two joint sub-arcs in the */
1174 /* Compute the x-coordinates of an ascending Bezier arc and store */
1178 /* degree :: The degree of the Bezier arc (either 2 or 3). */
1198 TPoint* arc;
1204 arc = ras.arc;
1205 y1 = arc[degree].y;
1206 y2 = arc[0].y;
1235 *top++ = arc[degree].x;
1257 start_arc = arc;
1263 y2 = arc[0].y;
1267 y1 = arc[degree].y;
1270 splitter( arc );
1271 arc += degree;
1275 *top++ = arc[degree].x + FMulDiv( arc[0].x - arc[degree].x,
1277 arc -= degree;
1286 *top++ = arc[0].x;
1290 arc -= degree;
1292 } while ( arc >= start_arc && e <= e2 );
1296 ras.arc -= degree;
1307 /* Compute the x-coordinates of an descending Bezier arc and store */
1311 /* degree :: The degree of the Bezier arc (either 2 or 3). */
1328 TPoint* arc = ras.arc;
1332 arc[0].y = -arc[0].y;
1333 arc[1].y = -arc[1].y;
1334 arc[2].y = -arc[2].y;
1336 arc[3].y = -arc[3].y;
1345 arc[0].y = -arc[0].y;
1450 /* Inject a new conic arc and adjust the profile list. */
1453 /* cx :: The x-coordinate of the arc's new control point. */
1455 /* cy :: The y-coordinate of the arc's new control point. */
1457 /* x :: The x-coordinate of the arc's end point (its start point is */
1460 /* y :: The y-coordinate of the arc's end point (its start point is */
1477 ras.arc = ras.arcs;
1478 ras.arc[2].x = ras.lastX;
1479 ras.arc[2].y = ras.lastY;
1480 ras.arc[1].x = cx;
1481 ras.arc[1].y = cy;
1482 ras.arc[0].x = x;
1483 ras.arc[0].y = y;
1487 y1 = ras.arc[2].y;
1488 y2 = ras.arc[1].y;
1489 y3 = ras.arc[0].y;
1490 x3 = ras.arc[0].x;
1492 /* first, categorize the Bezier arc */
1507 /* this arc has no given direction, split it! */
1508 Split_Conic( ras.arc );
1509 ras.arc += 2;
1513 /* this arc is flat, ignore it and pop it from the Bezier stack */
1514 ras.arc -= 2;
1518 /* the arc is y-monotonous, either ascending or descending */
1549 } while ( ras.arc >= ras.arcs );
1567 /* Inject a new cubic arc and adjust the profile list. */
1570 /* cx1 :: The x-coordinate of the arc's first new control point. */
1572 /* cy1 :: The y-coordinate of the arc's first new control point. */
1574 /* cx2 :: The x-coordinate of the arc's second new control point. */
1576 /* cy2 :: The y-coordinate of the arc's second new control point. */
1578 /* x :: The x-coordinate of the arc's end point (its start point is */
1581 /* y :: The y-coordinate of the arc's end point (its start point is */
1600 ras.arc = ras.arcs;
1601 ras.arc[3].x = ras.lastX;
1602 ras.arc[3].y = ras.lastY;
1603 ras.arc[2].x = cx1;
1604 ras.arc[2].y = cy1;
1605 ras.arc[1].x = cx2;
1606 ras.arc[1].y = cy2;
1607 ras.arc[0].x = x;
1608 ras.arc[0].y = y;
1612 y1 = ras.arc[3].y;
1613 y2 = ras.arc[2].y;
1614 y3 = ras.arc[1].y;
1615 y4 = ras.arc[0].y;
1616 x4 = ras.arc[0].x;
1618 /* first, categorize the Bezier arc */
1644 /* this arc has no given direction, split it! */
1645 Split_Cubic( ras.arc );
1646 ras.arc += 3;
1650 /* this arc is flat, ignore it and pop it from the Bezier stack */
1651 ras.arc -= 3;
1685 } while ( ras.arc >= ras.arcs );