Lines Matching defs:arc

54 miFillArcSetup(xArc * arc, miFillArcRec * info)
56 info->y = arc->height >> 1;
57 info->dy = arc->height & 1;
58 info->yorg = arc->y + info->y;
59 info->dx = arc->width & 1;
60 info->xorg = arc->x + (arc->width >> 1) + info->dx;
62 if (arc->width == arc->height) {
82 info->ym = (arc->width * arc->width) << 3;
83 info->xm = (arc->height * arc->height) << 3;
101 miFillArcDSetup(xArc * arc, miFillArcDRec * info)
105 info->y = arc->height >> 1;
106 info->dy = arc->height & 1;
107 info->yorg = arc->y + info->y;
108 info->dx = arc->width & 1;
109 info->xorg = arc->x + (arc->width >> 1) + info->dx;
111 info->ym = ((double) arc->width) * (arc->width * 8);
112 info->xm = ((double) arc->height) * (arc->height * 8);
129 miGetArcEdge(xArc * arc, miSliceEdgePtr edge, int k, Bool top, Bool left)
133 y = arc->height >> 1;
134 if (!(arc->width & 1))
138 if (arc->height & 1)
151 edge->x += arc->x + (arc->width >> 1);
242 miGetPieEdge(xArc * arc, int angle, miSliceEdgePtr edge, Bool top, Bool left)
247 miEllipseAngleToSlope(angle, arc->width, arc->height, &dx, &dy, 0, 0);
257 edge->x = arc->x + (arc->width >> 1);
258 if (left && (arc->width & 1))
260 else if (!left && !(arc->width & 1))
271 k = (arc->height & 1) ? dx : 0;
272 if (arc->width & 1)
276 miGetArcEdge(arc, edge, k, top, left);
280 miFillArcSliceSetup(xArc * arc, miArcSliceRec * slice, GCPtr pGC)
284 angle1 = arc->angle1;
285 if (arc->angle2 < 0) {
287 angle1 += arc->angle2;
290 angle2 = angle1 + arc->angle2;
300 slice->max_top_y = arc->height >> 1;
301 slice->min_bot_y = 1 - (arc->height & 1);
312 slice->min_top_y = arc->height;
318 slice->min_bot_y = arc->height;
329 slice->min_bot_y = arc->height;
333 slice->min_top_y = arc->height;
336 miGetPieEdge(arc, angle1, &slice->edge1,
338 miGetPieEdge(arc, angle2, &slice->edge2,
346 w2 = (double) arc->width / 2.0;
347 h2 = (double) arc->height / 2.0;
376 if (arc->height & 1) {
380 if (arc->width & 1) {
410 slice->min_bot_y = arc->height;
413 slice->max_bot_y = -y - (arc->height & 1);
421 slice->min_top_y = arc->height;
422 slice->min_bot_y = -y - (arc->height & 1);
438 slice->edge1.x += arc->x + (arc->width >> 1);
456 miGetArcEdge(arc, &slice->edge1, k,
458 miGetArcEdge(arc, &slice->edge2, k,
479 miFillEllipseI(DrawablePtr pDraw, GCPtr pGC, xArc * arc, DDXPointPtr points, int *widths)
488 miFillArcSetup(arc, &info);
504 miFillEllipseD(DrawablePtr pDraw, GCPtr pGC, xArc * arc, DDXPointPtr points, int *widths)
513 miFillArcDSetup(arc, &info);
551 miFillArcSliceI(DrawablePtr pDraw, GCPtr pGC, xArc * arc, DDXPointPtr points, int *widths)
561 miFillArcSetup(arc, &info);
562 miFillArcSliceSetup(arc, &slice, pGC);
564 slw = arc->height;
566 slw += (arc->height >> 1) + 1;
594 miFillArcSliceD(DrawablePtr pDraw, GCPtr pGC, xArc * arc, DDXPointPtr points, int *widths)
605 miFillArcDSetup(arc, &info);
606 miFillArcSliceSetup(arc, &slice, pGC);
608 slw = arc->height;
610 slw += (arc->height >> 1) + 1;
639 * fill each arc as it comes.
653 xArc *arc;
659 for (narcs = 0, arc = parcs; narcs < narcs_all; narcs++, arc++) {
660 if (narcs && nspans + arc->height > MAX_SPANS_PER_LOOP)
662 nspans += arc->height;
664 /* A pie-slice arc may add another pile of spans */
666 (-FULLCIRCLE < arc->angle2 && arc->angle2 < FULLCIRCLE))
667 nspans += (arc->height + 1) >> 1;
675 for (i = 0, arc = parcs; i < narcs; arc++, i++) {
676 if (miFillArcEmpty(arc))
678 if ((arc->angle2 >= FULLCIRCLE) || (arc->angle2 <= -FULLCIRCLE))
680 if (miCanFillArc(arc))
681 n = miFillEllipseI(pDraw, pGC, arc, pts, wids);
683 n = miFillEllipseD(pDraw, pGC, arc, pts, wids);
687 if (miCanFillArc(arc))
688 n = miFillArcSliceI(pDraw, pGC, arc, pts, wids);
690 n = miFillArcSliceD(pDraw, pGC, arc, pts, wids);