Lines Matching refs:edge

347 #define   XofY(edge, y)   edge->xvalues[y - edge->ymin]  argument
356 #define findXofY(edge, y) ((y < edge->ymin || y >= edge->ymax) ? SearchXofY(edge, y) : XofY(edge argument
368 static pel SearchXofY(edge, y) in SearchXofY() argument
369 register struct edgelist *edge; /* represents edge */ in SearchXofY()
374 if (y < edge->ymin) {
375 if (ISTOP(edge->flag)) {
379 for (e = edge->subpath; e->subpath != edge; e = e->subpath) { ; }
380 if (e->ymax == edge->ymin) {
384 else if (y >= edge->ymax) {
385 if (ISBOTTOM(edge->flag)) {
388 e = edge->subpath;
389 if (e->ymin == edge->ymax) {
394 return(XofY(edge, y));
506 register struct edgelist *edge; /* current edge in region */ local
513 for (edge = R->anchor; edge != NULL; edge = edge->link) {
516 edge->flag |= ISLEFT(ON);
519 next = edge->subpath;
521 if (!ISBREAK(edge, next))
523 if (edge->ymax < next->ymin)
531 edge->flag |= ISBOTTOM(ON);
533 if (ISDOWN(edge->flag) != ISDOWN(next->flag))
542 for (e = break1->subpath; e != edge; e = e->subpath)
581 edge->subpath = break1->subpath;
601 for (edge = R->anchor, prev = NULL; VALIDEDGE(edge); prev = edge, edge = prev->link) {
603 if (! ISAMBIGUOUS(edge->flag)) {
607 next = edge->subpath;
609 while (ISAMBIGUOUS(next->flag) && next != edge) {
617 if ( (ISLEFT(edge->flag) == ISLEFT(next->flag) && ISDOWN(edge->flag) == ISDOWN(next->flag) )
618 || (ISLEFT(edge->flag) != ISLEFT(next->flag) && ISDOWN(edge->flag) != ISDOWN(next->flag) ) ) {
628 next = edge->link; /* note new meaning of 'next' */
629 if (next == NULL || edge->ymin != next->ymin) {
657 edge->link = next->link;
658 next->link = edge;
659 edge->flag ^= ISLEFT(ON);
660 edge->flag &= ~ISAMBIGUOUS(ON);
663 edge = next;
678 register struct edgelist *edge,*e,*e2; local
681 for (edge = anchor; VALIDEDGE(edge); edge = edge->link) {
682 if (ISPERMANENT(edge->flag))
685 for (e2 = edge; !ISPERMANENT(e2->flag);) {
793 struct edgelist *edge; local
823 for (edge = swathstart; VALIDEDGE(edge); edge = edge->link) {
825 if (!SAMESWATH(swathstart,edge))
827 if( XofY(edge, yblack) > XofY(left, ywhite)) {
828 if (ISLEFT(edge->flag)) {
829 x = XofY(edge, yblack);
835 x = XofY(edge, yblack);
836 while (edge->link != NULL && SAMESWATH(edge, edge->link)
837 && x >= XofY(edge->link, yblack) ) {
838 edge = edge->link->link;
839 x = XofY(edge, yblack);
862 struct edgelist *edge,*e2; local
966 for (edge = R->anchor; VALIDEDGE(edge); edge = edge->link) {
967 if ((!ISTOP(edge->flag) && !ISBOTTOM(edge->flag)) || ISLEFT(edge->flag))
969 for (e2 = edge->link; VALIDEDGE(e2) && SAMESWATH(edge,e2); e2 = e2->link) {
970 if (ISTOP(e2->flag) && ISTOP(edge->flag)
971 && NONE != ImpliedHorizontalLine(edge,e2,edge->ymin)) {
973 CollapseWhiteRun(R->anchor, edge->ymin-1,
974 edge, e2, edge->ymin);
976 if (ISBOTTOM(e2->flag) && ISBOTTOM(edge->flag)
977 && NONE != ImpliedHorizontalLine(edge,e2, edge->ymax)) {
979 CollapseWhiteRun(R->anchor, edge->ymax,
980 edge, e2, edge->ymax-1);