Lines Matching full:slice

280 miFillArcSliceSetup(xArc * arc, miArcSliceRec * slice, GCPtr pGC)  in miFillArcSliceSetup()  argument
299 slice->min_top_y = 0; in miFillArcSliceSetup()
300 slice->max_top_y = arc->height >> 1; in miFillArcSliceSetup()
301 slice->min_bot_y = 1 - (arc->height & 1); in miFillArcSliceSetup()
302 slice->max_bot_y = slice->max_top_y - 1; in miFillArcSliceSetup()
303 slice->flip_top = FALSE; in miFillArcSliceSetup()
304 slice->flip_bot = FALSE; in miFillArcSliceSetup()
306 slice->edge1_top = (angle1 < HALFCIRCLE); in miFillArcSliceSetup()
307 slice->edge2_top = (angle2 <= HALFCIRCLE); in miFillArcSliceSetup()
309 if (angle2 ? slice->edge2_top : slice->edge1_top) in miFillArcSliceSetup()
310 slice->min_top_y = slice->min_bot_y; in miFillArcSliceSetup()
312 slice->min_top_y = arc->height; in miFillArcSliceSetup()
313 slice->min_bot_y = 0; in miFillArcSliceSetup()
316 slice->min_top_y = slice->min_bot_y; in miFillArcSliceSetup()
317 if (angle1 ? slice->edge1_top : slice->edge2_top) in miFillArcSliceSetup()
318 slice->min_bot_y = arc->height; in miFillArcSliceSetup()
320 slice->min_bot_y = 0; in miFillArcSliceSetup()
322 else if (slice->edge1_top == slice->edge2_top) { in miFillArcSliceSetup()
324 slice->flip_top = slice->edge1_top; in miFillArcSliceSetup()
325 slice->flip_bot = !slice->edge1_top; in miFillArcSliceSetup()
327 else if (slice->edge1_top) { in miFillArcSliceSetup()
328 slice->min_top_y = 1; in miFillArcSliceSetup()
329 slice->min_bot_y = arc->height; in miFillArcSliceSetup()
332 slice->min_bot_y = 0; in miFillArcSliceSetup()
333 slice->min_top_y = arc->height; in miFillArcSliceSetup()
336 miGetPieEdge(arc, angle1, &slice->edge1, in miFillArcSliceSetup()
337 slice->edge1_top, !slice->edge1_top); in miFillArcSliceSetup()
338 miGetPieEdge(arc, angle2, &slice->edge2, in miFillArcSliceSetup()
339 slice->edge2_top, slice->edge2_top); in miFillArcSliceSetup()
397 slice->edge1.dx = dx * 2; in miFillArcSliceSetup()
398 slice->edge1.dy = dy * 2; in miFillArcSliceSetup()
402 slice->edge1.dx = floor((dx * 32768) / scale + .5); in miFillArcSliceSetup()
403 slice->edge1.dy = floor((dy * 32768) / scale + .5); in miFillArcSliceSetup()
405 if (!slice->edge1.dy) { in miFillArcSliceSetup()
409 slice->min_top_y = y; in miFillArcSliceSetup()
410 slice->min_bot_y = arc->height; in miFillArcSliceSetup()
413 slice->max_bot_y = -y - (arc->height & 1); in miFillArcSliceSetup()
419 slice->max_top_y = y; in miFillArcSliceSetup()
421 slice->min_top_y = arc->height; in miFillArcSliceSetup()
422 slice->min_bot_y = -y - (arc->height & 1); in miFillArcSliceSetup()
425 slice->edge1_top = TRUE; in miFillArcSliceSetup()
426 slice->edge1.x = 65536; in miFillArcSliceSetup()
427 slice->edge1.stepx = 0; in miFillArcSliceSetup()
428 slice->edge1.e = 0; in miFillArcSliceSetup()
429 slice->edge1.dx = -1; in miFillArcSliceSetup()
430 slice->edge2 = slice->edge1; in miFillArcSliceSetup()
431 slice->edge2_top = FALSE; in miFillArcSliceSetup()
433 else if (!slice->edge1.dx) { in miFillArcSliceSetup()
436 slice->edge1.x = ceil(x1); in miFillArcSliceSetup()
437 slice->edge1_top = signdy < 0; in miFillArcSliceSetup()
438 slice->edge1.x += arc->x + (arc->width >> 1); in miFillArcSliceSetup()
439 slice->edge1.stepx = 0; in miFillArcSliceSetup()
440 slice->edge1.e = 0; in miFillArcSliceSetup()
441 slice->edge1.dx = -1; in miFillArcSliceSetup()
442 slice->edge2_top = !slice->edge1_top; in miFillArcSliceSetup()
443 slice->edge2 = slice->edge1; in miFillArcSliceSetup()
447 slice->edge1.dx = -slice->edge1.dx; in miFillArcSliceSetup()
449 slice->edge1.dx = -slice->edge1.dx; in miFillArcSliceSetup()
450 k = ceil(((x1 + x2) * slice->edge1.dy - in miFillArcSliceSetup()
451 (y1 + y2) * slice->edge1.dx) / 2.0); in miFillArcSliceSetup()
452 slice->edge2.dx = slice->edge1.dx; in miFillArcSliceSetup()
453 slice->edge2.dy = slice->edge1.dy; in miFillArcSliceSetup()
454 slice->edge1_top = signdy < 0; in miFillArcSliceSetup()
455 slice->edge2_top = !slice->edge1_top; in miFillArcSliceSetup()
456 miGetArcEdge(arc, &slice->edge1, k, in miFillArcSliceSetup()
457 slice->edge1_top, !slice->edge1_top); in miFillArcSliceSetup()
458 miGetArcEdge(arc, &slice->edge2, k, in miFillArcSliceSetup()
459 slice->edge2_top, slice->edge2_top); in miFillArcSliceSetup()
556 miArcSliceRec slice; in miFillArcSliceI() local
562 miFillArcSliceSetup(arc, &slice, pGC); in miFillArcSliceI()
565 if (slice.flip_top || slice.flip_bot) in miFillArcSliceI()
570 slice.edge1.x += pDraw->x; in miFillArcSliceI()
571 slice.edge2.x += pDraw->x; in miFillArcSliceI()
577 MIARCSLICESTEP(slice.edge1); in miFillArcSliceI()
578 MIARCSLICESTEP(slice.edge2); in miFillArcSliceI()
579 if (miFillSliceUpper(slice)) { in miFillArcSliceI()
581 MIARCSLICEUPPER(xl, xr, slice, slw); in miFillArcSliceI()
582 ADDSLICESPANS(slice.flip_top); in miFillArcSliceI()
584 if (miFillSliceLower(slice)) { in miFillArcSliceI()
586 MIARCSLICELOWER(xl, xr, slice, slw); in miFillArcSliceI()
587 ADDSLICESPANS(slice.flip_bot); in miFillArcSliceI()
600 miArcSliceRec slice; in miFillArcSliceD() local
606 miFillArcSliceSetup(arc, &slice, pGC); in miFillArcSliceD()
609 if (slice.flip_top || slice.flip_bot) in miFillArcSliceD()
614 slice.edge1.x += pDraw->x; in miFillArcSliceD()
615 slice.edge2.x += pDraw->x; in miFillArcSliceD()
621 MIARCSLICESTEP(slice.edge1); in miFillArcSliceD()
622 MIARCSLICESTEP(slice.edge2); in miFillArcSliceD()
623 if (miFillSliceUpper(slice)) { in miFillArcSliceD()
625 MIARCSLICEUPPER(xl, xr, slice, slw); in miFillArcSliceD()
626 ADDSLICESPANS(slice.flip_top); in miFillArcSliceD()
628 if (miFillSliceLower(slice)) { in miFillArcSliceD()
630 MIARCSLICELOWER(xl, xr, slice, slw); in miFillArcSliceD()
631 ADDSLICESPANS(slice.flip_bot); in miFillArcSliceD()
664 /* A pie-slice arc may add another pile of spans */ in miPolyFillArc()