Lines Matching +full:0 +full:xa
74 #if 0
98 #define miSpansCarefulRop(rop) (((rop) & 0xc) == 0x8 || ((rop) & 0x3) == 0x2)
113 spanGroup->size = 0; in miInitSpanGroup()
114 spanGroup->count = 0; in miInitSpanGroup()
120 #define YMIN(spans) (spans->points[0].y)
144 extra = 0; in miSubtractSpans()
237 if (spansCount > 0) { in miAppendSpans()
246 ymin = spans->points[0].y; in miAppendSpans()
292 xprev = points[0].x; in QuickSortSpansX()
301 for (j = 0; x >= points[j].x; j++) { in QuickSortSpansX()
319 /* Choose partition element, stick in location 0 */ in QuickSortSpansX()
321 if (points[m].x > points[0].x) in QuickSortSpansX()
322 ExchangeSpans(m, 0); in QuickSortSpansX()
325 if (points[m].x > points[0].x) in QuickSortSpansX()
326 ExchangeSpans(m, 0); in QuickSortSpansX()
327 x = points[0].x; in QuickSortSpansX()
330 i = 0; in QuickSortSpansX()
348 ExchangeSpans(0, j); in QuickSortSpansX()
378 for (i = spans->count - 1; i != 0; i--) { in UniquifySpansX()
414 for (i = 0; i < spanGroup->count; i++) { in miDisposeSpanGroup()
435 if (spanGroup->count == 0) in miFillUniqueSpanGroup()
466 for (i = 0; i != ylength; i++) { in miFillUniqueSpanGroup()
467 ysizes[i] = 0; in miFillUniqueSpanGroup()
468 yspans[i].count = 0; in miFillUniqueSpanGroup()
474 count = 0; in miFillUniqueSpanGroup()
475 for (i = 0, spans = spanGroup->group; in miFillUniqueSpanGroup()
480 for (j = 0, points = spans->points, widths = spans->widths; in miFillUniqueSpanGroup()
483 if (index >= 0 && index < ylength) { in miFillUniqueSpanGroup()
497 for (i = 0; i < ylength; i++) { in miFillUniqueSpanGroup()
527 for (i = 0; i < ylength; i++) { in miFillUniqueSpanGroup()
537 count = 0; in miFillUniqueSpanGroup()
538 for (i = 0; i != ylength; i++) { in miFillUniqueSpanGroup()
541 if (ycount > 0) { in miFillUniqueSpanGroup()
548 points[count] = yspans[i].points[0]; in miFillUniqueSpanGroup()
549 widths[count] = yspans[i].widths[0]; in miFillUniqueSpanGroup()
564 spanGroup->count = 0; in miFillUniqueSpanGroup()
651 int left_x = 0, left_e = 0; in miFillPolyHelper()
652 int left_stepx = 0; in miFillPolyHelper()
653 int left_signdx = 0; in miFillPolyHelper()
654 int left_dy = 0, left_dx = 0; in miFillPolyHelper()
656 int right_x = 0, right_e = 0; in miFillPolyHelper()
657 int right_stepx = 0; in miFillPolyHelper()
658 int right_signdx = 0; in miFillPolyHelper()
659 int right_dy = 0, right_dx = 0; in miFillPolyHelper()
661 int height = 0; in miFillPolyHelper()
662 int left_height = 0, right_height = 0; in miFillPolyHelper()
674 xorg = 0; in miFillPolyHelper()
711 while (--height >= 0) { in miFillPolyHelper()
722 if (left_e > 0) { in miFillPolyHelper()
729 if (right_e > 0) { in miFillPolyHelper()
797 if (dy < 0) { in miPolyBuildEdge()
816 if (xady <= 0) in miPolyBuildEdge()
823 if (dx >= 0) { in miPolyBuildEdge()
836 edge->e = e - dy; /* bias to compare against 0 instead of dy */ in miPolyBuildEdge()
840 #define StepAround(v, incr, max) (((v) + (incr) < 0) ? (max - 1) : ((v) + (incr) == max) ? 0 : ((v)…
859 int y, lasty = 0, bottomy, topy = 0; in miPolyBuildPoly()
862 maxy = miny = vertices[0].y; in miPolyBuildPoly()
863 bottom = top = 0; in miPolyBuildPoly()
875 slopeoff = 0; in miPolyBuildPoly()
888 nright = 0; in miPolyBuildPoly()
893 if (slopes[s].dy != 0) { in miPolyBuildPoly()
897 xi, yi, 0, &right[nright]); in miPolyBuildPoly()
898 if (nright != 0) in miPolyBuildPoly()
909 if (nright != 0) in miPolyBuildPoly()
912 if (slopeoff == 0) in miPolyBuildPoly()
915 slopeoff = 0; in miPolyBuildPoly()
917 nleft = 0; in miPolyBuildPoly()
921 if (slopes[s].dy != 0) { in miPolyBuildPoly()
927 if (nleft != 0) in miPolyBuildPoly()
935 if (nleft != 0) in miPolyBuildPoly()
977 double mx = 0, my = 0; in miLineJoin()
991 if (pLeft->dx > 0 || (pLeft->dx == 0 && pLeft->dy > 0)) in miLineJoin()
993 if (pRight->dx > 0 || (pRight->dx == 0 && pRight->dy > 0)) in miLineJoin()
999 if (denom == 0) in miLineJoin()
1019 swapslopes = 0; in miLineJoin()
1020 if (denom > 0) { in miLineJoin()
1021 pLeft->xa = -pLeft->xa; in miLineJoin()
1028 pRight->xa = -pRight->xa; in miLineJoin()
1034 vertices[0].x = pRight->xa; in miLineJoin()
1035 vertices[0].y = pRight->ya; in miLineJoin()
1036 slopes[0].dx = -pRight->dy; in miLineJoin()
1037 slopes[0].dy = pRight->dx; in miLineJoin()
1038 slopes[0].k = 0; in miLineJoin()
1040 vertices[1].x = 0; in miLineJoin()
1041 vertices[1].y = 0; in miLineJoin()
1044 slopes[1].k = 0; in miLineJoin()
1046 vertices[2].x = pLeft->xa; in miLineJoin()
1050 my = (pLeft->dy * (pRight->xa * pRight->dy - pRight->ya * pRight->dx) - in miLineJoin()
1051 pRight->dy * (pLeft->xa * pLeft->dy - pLeft->ya * pLeft->dx)) / in miLineJoin()
1053 if (pLeft->dy != 0) { in miLineJoin()
1054 mx = pLeft->xa + (my - pLeft->ya) * in miLineJoin()
1058 mx = pRight->xa + (my - pRight->ya) * in miLineJoin()
1090 adx = dx = pRight->xa - pLeft->xa; in miLineJoin()
1092 if (adx < 0) in miLineJoin()
1094 if (ady < 0) in miLineJoin()
1101 slopes[2].k = ((pLeft->xa + pRight->xa) * slopes[2].dy - in miLineJoin()
1141 x = 0; in miLineArcI()
1144 while (e >= 0) { in miLineArcI()
1156 if ((y != 0) && ((slw > 1) || (e != ex))) { in miLineArcI()
1182 if (edge->e > 0) \
1232 if (edge1->dy >= 0) { in miLineArcD()
1241 if ((edge1->signdx < 0) == edgeleft1) in miLineArcD()
1247 if (edge2->dy >= 0) { in miLineArcD()
1256 if ((edge2->signdx < 0) == edgeleft2) in miLineArcD()
1270 xr = 0; in miLineArcD()
1272 xl = 0; in miLineArcD()
1275 boty = (y0 < -0.5) ? 1 : 0; in miLineArcD()
1313 while ((er >= 0.0) && (xr >= 0)) { in miLineArcD()
1318 while ((el > 0.0) && (xl <= 0)) { in miLineArcD()
1345 double xa, ya; in miRoundJoinFace() local
1350 xa = face->xa; in miRoundJoinFace()
1353 if (ya > 0) { in miRoundJoinFace()
1355 xa = 0.0; in miRoundJoinFace()
1357 if (dy < 0 || (dy == 0 && dx > 0)) { in miRoundJoinFace()
1362 if (dx == 0 && dy == 0) in miRoundJoinFace()
1364 if (dy == 0) { in miRoundJoinFace()
1367 edge->stepx = 0; in miRoundJoinFace()
1368 edge->signdx = 0; in miRoundJoinFace()
1370 edge->dy = 0; in miRoundJoinFace()
1371 edge->dx = 0; in miRoundJoinFace()
1372 edge->height = 0; in miRoundJoinFace()
1375 y = miPolyBuildEdge(xa, ya, 0.0, dx, dy, face->x, face->y, !left, edge); in miRoundJoinFace()
1391 if (denom >= 0) { in miRoundJoinClip()
1392 pLeft->xa = -pLeft->xa; in miRoundJoinClip()
1396 pRight->xa = -pRight->xa; in miRoundJoinClip()
1408 double xa, ya, k; in miRoundCapClip() local
1413 xa = face->xa; in miRoundCapClip()
1419 if (dy < 0 || (dy == 0 && dx > 0)) { in miRoundCapClip()
1422 xa = -xa; in miRoundCapClip()
1426 if (dx == 0 && dy == 0) in miRoundCapClip()
1428 if (dy == 0) { in miRoundCapClip()
1431 edge->stepx = 0; in miRoundCapClip()
1432 edge->signdx = 0; in miRoundCapClip()
1434 edge->dy = 0; in miRoundCapClip()
1435 edge->dx = 0; in miRoundCapClip()
1436 edge->height = 0; in miRoundCapClip()
1439 y = miPolyBuildEdge(xa, ya, k, dx, dy, face->x, face->y, !left, edge); in miRoundCapClip()
1454 int xorgi = 0, yorgi = 0; in miLineArc()
1457 PolyEdgeRec edge1 = { 0 }, edge2 = { 0 }; in miLineArc()
1467 edge1.x = 0; /* not used, keep memory checkers happy */ in miLineArc()
1469 edge2.x = 0; /* not used, keep memory checkers happy */ in miLineArc()
1509 int xorgi = 0, yorgi = 0; in miLineProjectingCap()
1515 double xa, ya; in miLineProjectingCap() local
1531 if (dy == 0) { in miLineProjectingCap()
1532 lefts[0].height = lw; in miLineProjectingCap()
1533 lefts[0].x = xorgi; in miLineProjectingCap()
1535 lefts[0].x -= (lw >> 1); in miLineProjectingCap()
1536 lefts[0].stepx = 0; in miLineProjectingCap()
1537 lefts[0].signdx = 1; in miLineProjectingCap()
1538 lefts[0].e = -lw; in miLineProjectingCap()
1539 lefts[0].dx = 0; in miLineProjectingCap()
1540 lefts[0].dy = lw; in miLineProjectingCap()
1541 rights[0].height = lw; in miLineProjectingCap()
1542 rights[0].x = xorgi; in miLineProjectingCap()
1544 rights[0].x += ((lw + 1) >> 1); in miLineProjectingCap()
1545 rights[0].stepx = 0; in miLineProjectingCap()
1546 rights[0].signdx = 1; in miLineProjectingCap()
1547 rights[0].e = -lw; in miLineProjectingCap()
1548 rights[0].dx = 0; in miLineProjectingCap()
1549 rights[0].dy = lw; in miLineProjectingCap()
1553 else if (dx == 0) { in miLineProjectingCap()
1554 if (dy < 0) { in miLineProjectingCap()
1564 lefts[0].height = bottomy - topy; in miLineProjectingCap()
1565 lefts[0].x = xorgi - (lw >> 1); in miLineProjectingCap()
1566 lefts[0].stepx = 0; in miLineProjectingCap()
1567 lefts[0].signdx = 1; in miLineProjectingCap()
1568 lefts[0].e = -dy; in miLineProjectingCap()
1569 lefts[0].dx = dx; in miLineProjectingCap()
1570 lefts[0].dy = dy; in miLineProjectingCap()
1572 rights[0].height = bottomy - topy; in miLineProjectingCap()
1573 rights[0].x = lefts[0].x + (lw - 1); in miLineProjectingCap()
1574 rights[0].stepx = 0; in miLineProjectingCap()
1575 rights[0].signdx = 1; in miLineProjectingCap()
1576 rights[0].e = -dy; in miLineProjectingCap()
1577 rights[0].dx = dx; in miLineProjectingCap()
1578 rights[0].dy = dy; in miLineProjectingCap()
1583 xa = face->xa; in miLineProjectingCap()
1586 projectYoff = xa; in miLineProjectingCap()
1587 if (dx < 0) { in miLineProjectingCap()
1589 left = &lefts[0]; in miLineProjectingCap()
1590 top = &rights[0]; in miLineProjectingCap()
1594 right = &rights[0]; in miLineProjectingCap()
1596 top = &lefts[0]; in miLineProjectingCap()
1600 righty = miPolyBuildEdge(xa, ya, k, dx, dy, xorgi, yorgi, 0, right); in miLineProjectingCap()
1602 xa = -xa; in miLineProjectingCap()
1605 lefty = miPolyBuildEdge(xa - projectXoff, ya - projectYoff, in miLineProjectingCap()
1607 if (dx > 0) { in miLineProjectingCap()
1609 xa = -xa; in miLineProjectingCap()
1611 xap = xa - projectXoff; in miLineProjectingCap()
1614 -dy, dx, xorgi, yorgi, dx > 0, top); in miLineProjectingCap()
1615 bottomy = miPolyBuildEdge(xa, ya, in miLineProjectingCap()
1616 0.0, -dy, dx, xorgi, yorgi, dx < 0, in miLineProjectingCap()
1621 righty = miPolyBuildEdge(xa - projectXoff, ya - projectYoff, in miLineProjectingCap()
1622 k, dx, dy, xorgi, yorgi, 0, right); in miLineProjectingCap()
1624 xa = -xa; in miLineProjectingCap()
1627 lefty = miPolyBuildEdge(xa, ya, k, dx, dy, xorgi, yorgi, 1, left); in miLineProjectingCap()
1628 if (dx > 0) { in miLineProjectingCap()
1630 xa = -xa; in miLineProjectingCap()
1632 xap = xa - projectXoff; in miLineProjectingCap()
1635 miPolyBuildEdge(xa, ya, 0.0, -dy, dx, xorgi, xorgi, dx > 0, in miLineProjectingCap()
1639 xorgi, dx < 0, bottom); in miLineProjectingCap()
1643 if (dx < 0) { in miLineProjectingCap()
1672 double xa, ya; in miWideSegment() local
1709 if (dx < 0) in miWideSegment()
1722 if (dy == 0) { in miWideSegment()
1723 rightFace->xa = 0; in miWideSegment()
1726 leftFace->xa = 0; in miWideSegment()
1739 else if (dx == 0) { in miWideSegment()
1740 leftFace->xa = (double) lw / 2.0; in miWideSegment()
1741 leftFace->ya = 0; in miWideSegment()
1743 rightFace->xa = -leftFace->xa; in miWideSegment()
1744 rightFace->ya = 0; in miWideSegment()
1760 if (dx < 0) { in miWideSegment()
1762 left = &lefts[0]; in miWideSegment()
1763 top = &rights[0]; in miWideSegment()
1767 right = &rights[0]; in miWideSegment()
1769 top = &lefts[0]; in miWideSegment()
1776 xa = r * dy; in miWideSegment()
1780 projectYoff = xa; in miWideSegment()
1783 /* xa * dy - ya * dx */ in miWideSegment()
1786 leftFace->xa = xa; in miWideSegment()
1789 rightFace->xa = -xa; in miWideSegment()
1794 righty = miPolyBuildEdge(xa - projectXoff, ya - projectYoff, in miWideSegment()
1795 k, dx, dy, x1, y1, 0, right); in miWideSegment()
1797 righty = miPolyBuildEdge(xa, ya, k, dx, dy, x1, y1, 0, right); in miWideSegment()
1801 xa = -xa; in miWideSegment()
1803 /* xa * dy - ya * dx */ in miWideSegment()
1807 lefty = miPolyBuildEdge(xa - projectXoff, ya - projectYoff, in miWideSegment()
1810 lefty = miPolyBuildEdge(xa, ya, k, dx, dy, x1, y1, 1, left); in miWideSegment()
1814 if (signdx > 0) { in miWideSegment()
1816 xa = -xa; in miWideSegment()
1820 double xap = xa - projectXoff; in miWideSegment()
1824 -dy, dx, x1, y1, dx > 0, top); in miWideSegment()
1827 topy = miPolyBuildEdge(xa, ya, 0.0, -dy, dx, x1, y1, dx > 0, top); in miWideSegment()
1832 double xap = xa + projectXoff; in miWideSegment()
1836 -dy, dx, x2, y2, dx < 0, bottom); in miWideSegment()
1840 bottomy = miPolyBuildEdge(xa, ya, in miWideSegment()
1841 0.0, -dy, dx, x2, y2, dx < 0, bottom); in miWideSegment()
1847 if (dx < 0) { in miWideSegment()
2011 #define V_TOP 0
2065 if (dx == 0) { in miWideDashSegment()
2067 rdx = 0; in miWideDashSegment()
2069 if (dy < 0) { in miWideDashSegment()
2074 else if (dy == 0) { in miWideDashSegment()
2077 rdy = 0; in miWideDashSegment()
2078 if (dx < 0) { in miWideDashSegment()
2092 /* All position comments are relative to a line with dx and dy > 0, in miWideDashSegment()
2101 slopes[V_RIGHT].k = 0; in miWideDashSegment()
2109 slopes[V_LEFT].k = 0; in miWideDashSegment()
2201 if (dx < 0) { in miWideDashSegment()
2202 lcapFace.xa = -vertices[V_LEFT].x; in miWideDashSegment()
2207 lcapFace.xa = vertices[V_TOP].x; in miWideDashSegment()
2215 if (dx < 0) { in miWideDashSegment()
2216 rcapFace.xa = vertices[V_BOTTOM].x; in miWideDashSegment()
2221 rcapFace.xa = -vertices[V_RIGHT].x; in miWideDashSegment()
2235 dashIndex = 0; in miWideDashSegment()
2270 slopes[V_RIGHT].k = 0; in miWideDashSegment()
2295 if (dx < 0) { in miWideDashSegment()
2296 lcapFace.xa = -vertices[V_LEFT].x; in miWideDashSegment()
2301 lcapFace.xa = vertices[V_TOP].x; in miWideDashSegment()
2310 if (dashRemain == 0) { in miWideDashSegment()
2313 dashIndex = 0; in miWideDashSegment()
2321 leftFace->xa = rdy; in miWideDashSegment()
2329 rightFace->xa = -rdy; in miWideDashSegment()
2356 #if 0 in miWideDash()
2358 if (pGC->lineWidth == 0) { in miWideDash()
2368 if (npt == 0) in miWideDash()
2396 dashIndex = 0; in miWideDash()
2397 dashOffset = 0; in miWideDash()
2420 endIsFg = (dashIndex & 1) ^ (dashOffset != 0); in miWideDash()
2504 if (gc->lineWidth == 0) { in miPolylines()