Home | History | Annotate | Download | only in core

Lines Matching full:oval

506 void SkPath::addOval(const SkRect& oval, Direction dir) {
507 SkAutoPathBoundsUpdate apbu(this, oval);
509 SkScalar cx = oval.centerX();
510 SkScalar cy = oval.centerY();
511 SkScalar rx = SkScalarHalf(oval.width());
512 SkScalar ry = SkScalarHalf(oval.height());
538 the provided bounds when we can (i.e. use oval.fLeft instead of cx-rx)
539 to ensure that we don't exceed the oval's bounds *ever*, since we want
540 to use oval for our fast-bounds, rather than have to recompute it.
542 const SkScalar L = oval.fLeft; // cx - rx
543 const SkScalar T = oval.fTop; // cy - ry
544 const SkScalar R = oval.fRight; // cx + rx
545 const SkScalar B = oval.fBottom; // cy + ry
582 static int build_arc_points(const SkRect& oval, SkScalar startAngle,
615 matrix.setScale(SkScalarHalf(oval.width()), SkScalarHalf(oval.height()));
616 matrix.postTranslate(oval.centerX(), oval.centerY());
623 void SkPath::arcTo(const SkRect& oval, SkScalar startAngle, SkScalar sweepAngle,
625 if (oval.width() < 0 || oval.height() < 0) {
630 int count = build_arc_points(oval, startAngle, sweepAngle, pts);
643 void SkPath::addArc(const SkRect& oval, SkScalar startAngle,
645 if (oval.isEmpty() || 0 == sweepAngle) {
652 this->addOval(oval, sweepAngle > 0 ? kCW_Direction : kCCW_Direction);
657 int count = build_arc_points(oval, startAngle, sweepAngle, pts);