Lines Matching refs:scanline
60 area->scanline = XmuNewScanline(y1, x1, x2);
61 area->scanline->next = XmuNewScanline(y2, 0, 0);
64 area->scanline = (XmuScanline *)NULL;
112 z = p = dst->scanline;
113 Z = src->scanline;
120 if (z == dst->scanline)
122 XmuDestroyScanlineList(dst->scanline);
123 dst->scanline = (XmuScanline *)NULL;
141 if (p == dst->scanline && !dst->scanline)
142 p = dst->scanline = z;
199 if (!area->scanline)
201 if ((area->scanline = XmuNewScanline(y1, x1, x2)) != NULL)
202 area->scanline->next = XmuNewScanline(y2, 0, 0);
208 z = area->scanline;
213 area->scanline = q;
217 area->scanline = area->scanline->next;
220 if((z = area->scanline) == (XmuScanline *)NULL)
269 XmuDestroyScanlineList(dst->scanline);
270 dst->scanline = (XmuScanline *)NULL;
281 p = z = dst->scanline;
282 P = Z = src->scanline;
283 ins = XmuNewScanline(dst->scanline->y, 0, 0);
284 top = XmuNewScanline(dst->scanline->y, 0, 0);
285 XmuScanlineCopy(ins, dst->scanline);
286 XmuScanlineCopy(top, dst->scanline);
298 if (z == dst->scanline)
300 dst->scanline = p = q;
430 XmuDestroyScanlineList(dst->scanline);
431 dst->scanline = (XmuScanline *)NULL;
434 z = p = dst->scanline;
435 Z = P = src->scanline;
436 top = XmuNewScanline(dst->scanline->y, 0, 0);
437 XmuScanlineCopy(top, dst->scanline);
468 if (z == dst->scanline)
470 p = dst->scanline = dst->scanline->next;
472 z = dst->scanline;
520 if (!area || !area->scanline)
523 at = area->scanline;
539 * scanline - scanline to verify
542 * Verifies if a scanline is useful
545 XmuValidScanline(XmuScanline *scanline)
549 if (!scanline)
552 z = scanline->segment;
568 * s1 - scanline 1
569 * s2 - scanline 2
662 * dst - destination scanline
663 * src - source scanline
751 * scanline - scanline to optimize
759 XmuOptimizeScanline(XmuScanline *scanline)
763 while (scanline->segment && !XmuValidSegment(scanline->segment))
765 XmuSegment *s = scanline->segment;
767 scanline->segment = scanline->segment->next;
770 for (z = p = scanline->segment; z; p = z, z = z->next)
779 return (scanline);
784 * XmuScanlineNot(scanline, minx, maxx)
787 * scanline - scanlines operate
798 XmuScanlineNot(XmuScanline *scanline, int minx, int maxx)
804 if (!scanline)
805 return (scanline);
807 XmuOptimizeScanline(scanline);
814 XmuScanlineAnd(scanline, &and);
815 if (!scanline->segment)
817 scanline->segment = XmuNewSegment(minx, maxx);
818 return (scanline);
820 z = scanline->segment;
826 scanline->segment = q;
848 return (scanline);
858 * dst - destination scanline
956 * dst - destination scanline
1017 * dst - destination scanline
1126 * dst - destination scanline
1127 * src - source scanline
1256 * dst - destination scanline
1257 * src - source scanline
1339 * dst - destination scanline
1340 * src - source scanline
1507 XmuScanline *scanline;
1509 scanline = (XmuScanline *)XtMalloc(sizeof(XmuScanline));
1510 scanline->y = y;
1512 scanline->segment = XmuNewSegment(x1, x2);
1514 scanline->segment = (XmuSegment *)NULL;
1516 scanline->next = (XmuScanline *)NULL;
1518 return (scanline);
1526 * scanline - scanline list to destroy
1529 * Destroy a scanline list
1533 * XmuDestroyScanlineList(area->scanline);
1534 * area->scanline = (XmuScanline *)NULL;
1537 XmuDestroyScanlineList(XmuScanline *scanline)
1541 if (!scanline)
1544 while (scanline)
1546 z = scanline;
1547 scanline = scanline->next;
1570 if (!area || !area->scanline)
1573 if (!area->scanline->next)
1575 XmuDestroyScanlineList(area->scanline);
1576 area->scanline = (XmuScanline *)0;
1580 pr = area->scanline;
1581 at = area->scanline->next;
1582 while (area->scanline && (!XmuValidScanline(area->scanline)
1583 || (area->scanline->next && area->scanline->y
1584 >= area->scanline->next->y)))
1586 area->scanline = area->scanline->next;
1588 pr = area->scanline;
1609 if (area->scanline && !area->scanline->next)
1611 XmuDestroyScanlineList(area->scanline);
1612 area->scanline = (XmuScanline *)NULL;