Lines Matching refs:arc

341   /* States of each line, arc, and profile */
487 TPoint* arc; /* current Bezier arc pointer */
500 Bool joint; /* signals that the last arc ended */
584 * given y-monotonous Bezier arc that crosses a scanline before
934 /* Subdivide a third-order Bezier arc into two joint sub-arcs in the */
1166 /* Compute the x-coordinates of an ascending Bezier arc and store */
1170 /* degree :: The degree of the Bezier arc (either 2 or 3). */
1190 TPoint* arc;
1196 arc = ras.arc;
1197 y1 = arc[degree].y;
1198 y2 = arc[0].y;
1227 *top++ = arc[degree].x;
1249 start_arc = arc;
1255 y2 = arc[0].y;
1259 y1 = arc[degree].y;
1262 splitter( arc );
1263 arc += degree;
1267 *top++ = arc[degree].x + FMulDiv( arc[0].x - arc[degree].x,
1269 arc -= degree;
1278 *top++ = arc[0].x;
1282 arc -= degree;
1284 } while ( arc >= start_arc && e <= e2 );
1288 ras.arc -= degree;
1299 /* Compute the x-coordinates of an descending Bezier arc and store */
1303 /* degree :: The degree of the Bezier arc (either 2 or 3). */
1320 TPoint* arc = ras.arc;
1324 arc[0].y = -arc[0].y;
1325 arc[1].y = -arc[1].y;
1326 arc[2].y = -arc[2].y;
1328 arc[3].y = -arc[3].y;
1337 arc[0].y = -arc[0].y;
1442 /* Inject a new conic arc and adjust the profile list. */
1445 /* cx :: The x-coordinate of the arc's new control point. */
1447 /* cy :: The y-coordinate of the arc's new control point. */
1449 /* x :: The x-coordinate of the arc's end point (its start point is */
1452 /* y :: The y-coordinate of the arc's end point (its start point is */
1469 ras.arc = ras.arcs;
1470 ras.arc[2].x = ras.lastX;
1471 ras.arc[2].y = ras.lastY;
1472 ras.arc[1].x = cx;
1473 ras.arc[1].y = cy;
1474 ras.arc[0].x = x;
1475 ras.arc[0].y = y;
1479 y1 = ras.arc[2].y;
1480 y2 = ras.arc[1].y;
1481 y3 = ras.arc[0].y;
1482 x3 = ras.arc[0].x;
1484 /* first, categorize the Bezier arc */
1499 /* this arc has no given direction, split it! */
1500 Split_Conic( ras.arc );
1501 ras.arc += 2;
1505 /* this arc is flat, ignore it and pop it from the Bezier stack */
1506 ras.arc -= 2;
1510 /* the arc is y-monotonous, either ascending or descending */
1540 } while ( ras.arc >= ras.arcs );
1558 /* Inject a new cubic arc and adjust the profile list. */
1561 /* cx1 :: The x-coordinate of the arc's first new control point. */
1563 /* cy1 :: The y-coordinate of the arc's first new control point. */
1565 /* cx2 :: The x-coordinate of the arc's second new control point. */
1567 /* cy2 :: The y-coordinate of the arc's second new control point. */
1569 /* x :: The x-coordinate of the arc's end point (its start point is */
1572 /* y :: The y-coordinate of the arc's end point (its start point is */
1591 ras.arc = ras.arcs;
1592 ras.arc[3].x = ras.lastX;
1593 ras.arc[3].y = ras.lastY;
1594 ras.arc[2].x = cx1;
1595 ras.arc[2].y = cy1;
1596 ras.arc[1].x = cx2;
1597 ras.arc[1].y = cy2;
1598 ras.arc[0].x = x;
1599 ras.arc[0].y = y;
1603 y1 = ras.arc[3].y;
1604 y2 = ras.arc[2].y;
1605 y3 = ras.arc[1].y;
1606 y4 = ras.arc[0].y;
1607 x4 = ras.arc[0].x;
1609 /* first, categorize the Bezier arc */
1635 /* this arc has no given direction, split it! */
1636 Split_Cubic( ras.arc );
1637 ras.arc += 3;
1641 /* this arc is flat, ignore it and pop it from the Bezier stack */
1642 ras.arc -= 3;
1675 } while ( ras.arc >= ras.arcs );