Lines Matching refs:rrect

111     // Add rect, rrect, or paths to the list of elements, possibly overriding the last set
124 ElementsBuilder& rrect(const SkRRect& rrect) {
125 return this->rrect(rrect, fLocalToDevice, fAA, fOp);
127 ElementsBuilder& rrect(const SkRRect& rrect, GrAA aa, SkClipOp op) {
128 return this->rrect(rrect, fLocalToDevice, aa, op);
130 ElementsBuilder& rrect(const SkRRect& rrect, const SkMatrix& m, GrAA aa, SkClipOp op) {
131 fElements->push_back({GrShape(rrect), m, op, aa});
266 elementBounds = GrClip::GetPixelIBounds(SkRRectPriv::InnerBounds(e.fShape.rrect()),
288 return a.fShape.rrect() == b.fShape.rrect();
325 cs.clipRRect(e.fLocalToDevice, e.fShape.rrect(), e.fAA, e.fOp);
645 .rrect(r1).rrect(r2)
647 .expect().aa().intersect().rrect(intersect).finishElements()
654 .rrect(r1).rrect(r2)
656 .expect().nonAA().intersect().rrect(intersect).finishElements()
663 .aa().rrect(r1).nonAA().rrect(r2)
673 .rrect(r1).rrect(r2)
676 .rrect(intersect).finishElements()
681 .rrect(r1).rrect(r2)
684 .rrect(intersect).finishElements()
693 SkRRect rrect = SkRRect::MakeRectXY({0, 0, 10, 10}, 2.f, 2.f);
701 run_test_case(r, TestCase::Build("still-rrect", kDeviceBounds)
702 .actual().intersect().aa().rrect(rrect).rect(cutTop).finishElements()
703 .expect().intersect().aa().rrect(cutRRect).finishElements()
710 .actual().intersect().aa().rrect(rrect).rect(cutMid).finishElements()
718 .actual().intersect().aa().rrect(rrect).rect(cutRect).finishElements()
753 run_test_case(r, TestCase::Build("device-rrect", kDeviceBounds)
755 .rrect(SkRRect::MakeRectXY(crossesDeviceEdge, 4.f, 4.f))
806 // Oval path -> rrect element
811 .expect().rrect(SkRRect::MakeOval(rect)).finishElements()
815 // RRect path -> rrect element
816 SkRRect rrect = SkRRect::MakeRectXY(rect, 2.f, 2.f);
818 rrectPath.addRRect(rrect);
819 run_test_case(r, TestCase::Build("rrect", kDeviceBounds)
821 .expect().rrect(rrect).finishElements()
846 // Same rrect
847 SkRRect rrect = SkRRect::MakeRectXY(rect, 5.f, 2.5f);
849 .actual().rrect(rrect).rrect(rrect).rrect(rrect).finishElements()
850 .expect().rrect(rrect).finishElements()
854 .actual().localToDevice(lm).rrect(rrect).rrect(rrect).rrect(rrect)
856 .expect().localToDevice(lm).rrect(rrect).finishElements()
957 .rrect(offscreenRRect)
968 run_test_case(r, TestCase::Build("intersect-rrect", kDeviceBounds)
970 .rrect(offscreenRRect)
985 .rrect(offscreenRRect)
996 run_test_case(r, TestCase::Build("difference-rrect", kDeviceBounds)
998 .rrect(offscreenRRect)
1026 SkRRect rrect = SkRRect::MakeRectXY({4.f, 10.f, 16.f, 32.f}, 2.f, 2.f);
1028 .actual().difference().rrect(rrect).rect(SkRect::MakeEmpty())
1030 .expect().difference().rrect(rrect).finishElements()
1137 // Tests that a single rrect is treated as kDeviceRRect state when it's axis-aligned and intersect.
1143 SkRRect rrect = SkRRect::MakeRectXY(rect, 5.f, 5.f);
1144 run_test_case(r, TestCase::Build("device-rrect", kDeviceBounds)
1145 .actual().intersect().aa().rrect(rrect).finishElements()
1152 run_test_case(r, TestCase::Build("unaligned-rrect", kDeviceBounds)
1153 .actual().localToDevice(lm).intersect().aa().rrect(rrect)
1160 run_test_case(r, TestCase::Build("diff-rrect", kDeviceBounds)
1161 .actual().difference().aa().rrect(rrect).finishElements()
1191 run_test_case(r, TestCase::Build("st+rrect", kDeviceBounds)
1192 .actual().rrect(localRRect, lm, GrAA::kYes, SkClipOp::kIntersect)
1194 .expect().rrect(deviceRRect, GrAA::kYes, SkClipOp::kIntersect)
1230 run_test_case(r, TestCase::Build("r90+rrect", kDeviceBounds)
1231 .actual().rrect(localRRect, lm, GrAA::kYes, SkClipOp::kIntersect)
1233 .expect().rrect(deviceRRect, GrAA::kYes, SkClipOp::kIntersect)
1253 SkRRect rrect = SkRRect::MakeRectXY(rect, 5.f, 5.f);
1262 run_test_case(r, TestCase::Build("convex+rrect-intersect", kDeviceBounds)
1263 .actual().aa().intersect().rrect(rrect).path(bigPath).finishElements()
1264 .expect().aa().intersect().rrect(rrect).finishElements()
1274 run_test_case(r, TestCase::Build("convex+rrect-difference", kDeviceBounds)
1275 .actual().aa().difference().rrect(rrect).path(bigPath)
1287 run_test_case(r, TestCase::Build("convex-diff+rrect-int", kDeviceBounds)
1288 .actual().aa().intersect().rrect(rrect)
1300 run_test_case(r, TestCase::Build("convex-int+rrect-diff", kDeviceBounds)
1301 .actual().aa().intersect().path(bigPath).difference().rrect(rrect)
1330 run_test_case(r, TestCase::Build("rrect-rrect-ii", kDeviceBounds)
1331 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kIntersect)
1332 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1334 .expect().rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1338 run_test_case(r, TestCase::Build("rect-rrect-ii", kDeviceBounds)
1340 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1342 .expect().rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1346 run_test_case(r, TestCase::Build("rrect-rect-ii", kDeviceBounds)
1347 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kIntersect)
1364 run_test_case(r, TestCase::Build("rrect-rrect-dd", kDeviceBounds)
1365 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1366 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kDifference)
1368 .expect().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1372 run_test_case(r, TestCase::Build("rect-rrect-dd", kDeviceBounds)
1374 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kDifference)
1380 run_test_case(r, TestCase::Build("rrect-rect-dd", kDeviceBounds)
1381 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1384 .expect().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1397 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1398 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1404 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kIntersect)
1409 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kDifference)
1424 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kIntersect)
1425 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kDifference)
1431 .actual().rrect(bigRR, lm1, GrAA::kYes, SkClipOp::kIntersect)
1439 .rrect(smRR, lm2, GrAA::kYes, SkClipOp::kDifference)
1499 SkRRect rrect = SkRRect::MakeRectXY(rect, 10.f, 10.f);
1507 run_test_case(r, TestCase::Build("rrect-intersect", kDeviceBounds)
1508 .actual().intersect().rrect(rrect).finishElements()
1521 run_test_case(r, TestCase::Build("rrect-difference", kDeviceBounds)
1522 .actual().difference().rrect(rrect).finishElements()
1542 .actual().aa().intersect().rect(rt).rrect(rr).path(p).finishElements()
1548 .actual().nonAA().difference().rect(rt).rrect(rr).path(p)
1557 .nonAA().difference().rrect(rr).path(p)
1563 // I+D from rrect
1565 .actual().aa().intersect().rrect(rr)
1568 .expect().aa().intersect().rrect(rr).finishElements()
1575 .nonAA().difference().rect(rt).rrect(rr)
1625 SkRRect rrect = SkRRect::MakeRectXY(rects[i], kR, kR);
1626 b.actual().rrect(rrect, GrAA::kYes, op);
1629 expectedRRectIntersection, rrect);
1632 b.expect().rrect(rrect, GrAA::kYes, SkClipOp::kDifference);
1663 b.expect().rrect(expectedRRectIntersection, GrAA::kYes, SkClipOp::kIntersect);
1685 SkRRect rrect = SkRRect::MakeRectXY({15.f, 12.25f, 40.3f, 23.5f}, 4.f, 6.f);
1686 cs.clipRRect(SkMatrix::I(), rrect, GrAA::kYes, SkClipOp::kIntersect);
1688 SkIRect replace = {50, 25, 75, 40}; // Is disjoint from the rrect element
1702 // Restore should undo the replaced clip and bring back the rrect
1707 REPORTER_ASSERT(r, rrectElem.fShape.rrect() == rrect &&
1820 // Contained inside clip is kUnclipped (using rrect for the outer clip element since paths
1842 "Draw with complex clip is kClipped, but is not an rrect");
1856 // Intersecting clip is kDeviceRRect for axis-aligned rrect clip