Lines Matching defs:acc
378 static void drawQuadrant(struct arc_def *def, struct accelerators *acc,
648 struct accelerators *acc)
661 Hs = acc->h2;
662 WH = -acc->h2mw2;
665 Hf = acc->h4;
671 if (acc->left.valid && boundedLe(K, bounds->left) &&
674 if (acc->right.valid && boundedLe(K, bounds->right) &&
774 if (acc->left.valid && boundedLe(K, bounds->left) &&
777 if (acc->right.valid && boundedLe(K, bounds->right) &&
2470 struct accelerators *acc)
2474 acc->tail_y = 0.0;
2479 if (t < acc->h2)
2482 if (t > acc->h2)
2486 t = (CUBED_ROOT_4 * acc->h2 - cbrt(t * t)) / acc->h2mw2;
2488 acc->tail_y = def->h / CUBED_ROOT_2 * sqrt(t);
2501 struct accelerators *acc)
2503 return x + (x * acc->h2l) / sqrt (x*x * acc->h4 + y*y * acc->w4);
2511 struct accelerators *acc)
2513 return y + (y * acc->w2l) / sqrt (x*x * acc->h4 + y*y * acc->w4);
2521 struct accelerators *acc)
2523 return x - (x * acc->h2l) / sqrt (x*x * acc->h4 + y*y * acc->w4);
2531 struct accelerators *acc)
2533 return y - (y * acc->w2l) / sqrt (x*x * acc->h4 + y*y * acc->w4);
2540 struct accelerators *acc)
2544 x = (def->w / def->h) * sqrt (acc->h2 - y*y);
2546 return y - (y * acc->w2l) / sqrt (x*x * acc->h4 + y*y * acc->w4);
2577 struct accelerators *acc)
2582 acc->h2 = def->h * def->h;
2583 acc->w2 = def->w * def->w;
2584 acc->h4 = acc->h2 * acc->h2;
2585 acc->w4 = acc->w2 * acc->w2;
2586 acc->h2l = acc->h2 * def->l;
2587 acc->w2l = acc->w2 * def->l;
2588 acc->h2mw2 = acc->h2 - acc->w2;
2589 acc->fromIntX = (tarc->width & 1) ? 0.5 : 0.0;
2590 acc->fromIntY = (tarc->height & 1) ? 0.5 : 0.0;
2591 acc->xorg = tarc->x + (tarc->width >> 1);
2592 acc->yorgu = tarc->y + (tarc->height >> 1);
2593 acc->yorgl = acc->yorgu + (tarc->height & 1);
2594 tailEllipseY (def, acc);
2606 struct accelerators *acc,
2626 bound->outer.min = outerYfromXY (ellipsex.min, bound->ellipse.min, def, acc);
2627 bound->outer.max = outerYfromXY (ellipsex.max, bound->ellipse.max, def, acc);
2628 bound->inner.min = innerYfromXY (ellipsex.min, bound->ellipse.min, def, acc);
2629 bound->inner.max = innerYfromXY (ellipsex.max, bound->ellipse.max, def, acc);
2631 outerx.min = outerXfromXY (ellipsex.min, bound->ellipse.min, def, acc);
2632 outerx.max = outerXfromXY (ellipsex.max, bound->ellipse.max, def, acc);
2633 innerx.min = innerXfromXY (ellipsex.min, bound->ellipse.min, def, acc);
2634 innerx.max = innerXfromXY (ellipsex.max, bound->ellipse.max, def, acc);
2668 &acc->right);
2670 &acc->left);
2677 tail_y = acc->tail_y;
2682 innerTaily = innerYfromY (tail_y, def, acc);
2687 bound->inneri.min = ICEIL(bound->inner.min - acc->fromIntY);
2688 bound->inneri.max = floor(bound->inner.max - acc->fromIntY);
2689 bound->outeri.min = ICEIL(bound->outer.min - acc->fromIntY);
2690 bound->outeri.max = floor(bound->outer.max - acc->fromIntY);
2747 struct accelerators *acc,
2752 if (acc->h2mw2 == 0) {
2757 ret = (acc->h4 * scan_y) / (acc->h2mw2);
2774 struct accelerators *acc,
2781 ellipse_y = hookEllipseY (scan_y, bound, acc, left);
2787 maxMin = ellipse_y*ellipse_y*ellipse_y * acc->h2mw2 -
2788 acc->h2 * scan_y * (3 * ellipse_y*ellipse_y - 2*acc->h2);
2792 x = (acc->h2 * scan_y - ellipse_y * acc->h2mw2) *
2793 sqrt (acc->h2 - ellipse_y * ellipse_y) /
2800 if (acc->left.valid && boundedLe (scan_y, bound->left)) {
2801 x = intersectLine (scan_y, acc->left);
2803 if (acc->right.valid)
2804 x = intersectLine (scan_y, acc->right);
2809 if (acc->right.valid && boundedLe (scan_y, bound->right)) {
2810 x = intersectLine (scan_y, acc->right);
2812 if (acc->left.valid)
2813 x = intersectLine (scan_y, acc->left);
2835 struct accelerators *acc,
2848 x = hookX (y + acc->fromIntY, def, bounds, acc, 1);
2849 if (acc->right.valid &&
2850 boundedLe (y + acc->fromIntY, bounds->right))
2852 altx = intersectLine (y + acc->fromIntY, acc->right);
2856 linx = -ICEIL(acc->fromIntX - x);
2857 rinx = ICEIL(acc->fromIntX + x);
2866 x = hookX (y + acc->fromIntY, def, bounds, acc, 0);
2867 if (acc->left.valid &&
2868 boundedLe (y + acc->fromIntY, bounds->left))
2871 x = intersectLine (y + acc->fromIntY, acc->left);
2875 loutx = -ICEIL(acc->fromIntX - x);
2876 routx = ICEIL(acc->fromIntX + x);
2880 newFinalSpan (acc->yorgu - y,
2881 acc->xorg + rinx, acc->xorg + routx);
2883 newFinalSpan (acc->yorgl + y,
2884 acc->xorg + rinx, acc->xorg + routx);
2888 newFinalSpan (acc->yorgu - y,
2889 acc->xorg - loutx, acc->xorg - linx);
2891 newFinalSpan (acc->yorgl + y,
2892 acc->xorg - loutx, acc->xorg - linx);
2904 struct accelerators *acc,
2910 acc->left.valid && boundedLe (0, bounds->left) &&
2911 acc->left.b > 0)
2914 if (acc->left.b < x)
2915 x = acc->left.b;
2916 lw = ICEIL(acc->fromIntX - x) - lx;
2918 rx = ICEIL(acc->fromIntX + x);
2921 arcSpan (0, lx, lw, rx, rw, def, bounds, acc, mask);
2931 struct accelerators *acc,
2938 arcSpan (y, 0, lw, -rw, rw, def, bounds, acc, mask);
2940 yy = y + acc->fromIntY;
2941 x = tailX(yy, def, bounds, acc);
2942 if (yy == 0.0 && x == -rw - acc->fromIntX)
2944 if (acc->right.valid && boundedLe (yy, bounds->right)) {
2947 xalt = intersectLine (yy, acc->right);
2948 if (xalt >= -rw - acc->fromIntX && xalt <= rx)
2950 n = ICEIL(acc->fromIntX + lx);
2953 newFinalSpan (acc->yorgu - y,
2954 acc->xorg + n, acc->xorg + lw);
2956 newFinalSpan (acc->yorgl + y,
2957 acc->xorg + n, acc->xorg + lw);
2959 n = ICEIL(acc->fromIntX + rx);
2962 newFinalSpan (acc->yorgu - y,
2963 acc->xorg - rw, acc->xorg + n);
2965 newFinalSpan (acc->yorgl + y,
2966 acc->xorg - rw, acc->xorg + n);
2970 ICEIL(acc->fromIntX - x), 0,
2971 ICEIL(acc->fromIntX + x), 0,
2972 def, bounds, acc, mask);
3249 struct accelerators acc;
3411 computeAcc (tarc, l, &def, &acc);
3437 drawQuadrant (&def, &acc, sweep[j].a0, sweep[j].a1, mask,
3482 struct accelerators *acc,
3498 computeBound (def, &bound, acc, right, left);
3502 miny = ICEIL(yy - acc->fromIntY);
3506 maxy = floor(yy - acc->fromIntY);
3512 newFinalSpan (acc->yorgu - y - 1, acc->xorg, acc->xorg + 1);
3522 def, &bound, acc, mask);
3524 tailSpan (y, -span->rw, -span->rx, def, &bound, acc, mask);
3534 arcSpan (y, 0, 0, 0, 1, def, &bound, acc, mask & 0xc);
3542 def, &bound, acc, mask);
3553 def, &bound, acc, n);
3555 tailSpan (y, -span->rw, -span->rx, def, &bound, acc, n);
3559 def, &bound, acc, n);
3563 yy = y + acc->fromIntY;
3568 x = tailX(yy, def, &bound, acc);
3569 if (acc->left.valid && boundedLe (yy, bound.left)) {
3570 xalt = intersectLine (yy, acc->left);
3574 if (acc->right.valid && boundedLe (yy, bound.right)) {
3575 xalt = intersectLine (yy, acc->right);
3581 ICEIL(acc->fromIntX - x), 0,
3582 ICEIL(acc->fromIntX + x), 0,
3583 def, &bound, acc, mask);