• Home
  • Raw
  • Download

Lines Matching +full:d3 +full:- +full:interpolate

4  * Use of this source code is governed by a BSD-style license that can be
88 const float min = SkBits2Float(0xcb7f16c8); /* -16717512.000000 */ in test_skbug_3239()
106 path->reset(); in make_path_crbug364224()
107 path->moveTo(3.747501373f, 2.724499941f); in make_path_crbug364224()
108 path->lineTo(3.747501373f, 3.75f); in make_path_crbug364224()
109 path->cubicTo(3.747501373f, 3.88774991f, 3.635501385f, 4.0f, 3.497501373f, 4.0f); in make_path_crbug364224()
110 path->lineTo(0.7475013733f, 4.0f); in make_path_crbug364224()
111 path->cubicTo(0.6095013618f, 4.0f, 0.4975013733f, 3.88774991f, 0.4975013733f, 3.75f); in make_path_crbug364224()
112 path->lineTo(0.4975013733f, 1.0f); in make_path_crbug364224()
113 path->cubicTo(0.4975013733f, 0.8622499704f, 0.6095013618f, 0.75f, 0.7475013733f,0.75f); in make_path_crbug364224()
114 path->lineTo(3.497501373f, 0.75f); in make_path_crbug364224()
115 path->cubicTo(3.50275135f, 0.75f, 3.5070014f, 0.7527500391f, 3.513001442f, 0.753000021f); in make_path_crbug364224()
116 path->lineTo(3.715001345f, 0.5512499809f); in make_path_crbug364224()
117 …path->cubicTo(3.648251295f, 0.5194999576f, 3.575501442f, 0.4999999702f, 3.497501373f, 0.4999999702… in make_path_crbug364224()
118 path->lineTo(0.7475013733f, 0.4999999702f); in make_path_crbug364224()
119 path->cubicTo(0.4715013802f, 0.4999999702f, 0.2475013733f, 0.7239999771f, 0.2475013733f, 1.0f); in make_path_crbug364224()
120 path->lineTo(0.2475013733f, 3.75f); in make_path_crbug364224()
121 path->cubicTo(0.2475013733f, 4.026000023f, 0.4715013504f, 4.25f, 0.7475013733f, 4.25f); in make_path_crbug364224()
122 path->lineTo(3.497501373f, 4.25f); in make_path_crbug364224()
123 path->cubicTo(3.773501396f, 4.25f, 3.997501373f, 4.026000023f, 3.997501373f, 3.75f); in make_path_crbug364224()
124 path->lineTo(3.997501373f, 2.474750042f); in make_path_crbug364224()
125 path->lineTo(3.747501373f, 2.724499941f); in make_path_crbug364224()
126 path->close(); in make_path_crbug364224()
130 path->moveTo(3.747501373f, 2.724499941f); in make_path_crbug364224_simplified()
131 …path->cubicTo(3.648251295f, 0.5194999576f, 3.575501442f, 0.4999999702f, 3.497501373f, 0.4999999702… in make_path_crbug364224_simplified()
132 path->close(); in make_path_crbug364224_simplified()
140 path.moveTo(-540000, -720000); in test_sect_with_horizontal_needs_pinning()
141 path.lineTo(-9.10000017e-05f, 9.99999996e-13f); in test_sect_with_horizontal_needs_pinning()
146 SkSurfaces::Raster(SkImageInfo::MakeN32Premul(10, 10))->getCanvas()->drawPath(path, paint); in test_sect_with_horizontal_needs_pinning()
152 // needed clipping, would clip against the vertical segment, but start over from the un-clipped in test_iterative_intersect_line()
157 path.moveTo(-478.805145f, 153.862549f); in test_iterative_intersect_line()
159 path.lineTo(-666.754272f, 155.086304f); in test_iterative_intersect_line()
164 SkSurfaces::Raster(SkImageInfo::MakeN32Premul(256, 256))->getCanvas()->drawPath(path, paint); in test_iterative_intersect_line()
171 SkCanvas* canvas = surface->getCanvas(); in test_path_crbug364224()
174 canvas->drawPath(path, paint); in test_path_crbug364224()
177 canvas->drawPath(path, paint); in test_path_crbug364224()
182 SkCanvas* canvas = surface->getCanvas(); in test_draw_AA_path()
185 canvas->drawPath(path, paint); in test_draw_AA_path()
194 SkBits2Float(0x6bf9abea)); // 2.4375f, 3.625f, 2.85577e-37f, -1.992e-24f, 6.03669e+26f in test_fuzz_crbug_638223()
201 path.conicTo(SkBits2Float(0x002001f2), SkBits2Float(0x4161ffff), // 2.93943e-39f, 14.125f in test_fuzz_crbug_643933()
207 path.conicTo(SkBits2Float(0x00007ff2), SkBits2Float(0x4169ffff), // 4.58981e-41f, 14.625f in test_fuzz_crbug_643933()
216 path.conicTo(SkBits2Float(0x00003939), SkBits2Float(0x42487fff), // 2.05276e-41f, 50.125f in test_fuzz_crbug_647922()
224 SkCanvas* canvas = surface->getCanvas(); in test_fuzz_crbug_662780()
246 canvas->clipPath(path, true); in test_fuzz_crbug_662780()
247 canvas->drawRect(SkRect::MakeWH(250, 250), paint); in test_fuzz_crbug_662780()
268 SkBits2Float(0x414100ff)); // 12.0626f, -12.0784f, 12.0784f, 12.0627f in test_fuzz_crbug_668907()
281 p1 = SkPoint::Make(1.f - SK_ScalarNearlyZero, 1.f); in make_path_crbugskia2820()
285 path->reset(); in make_path_crbugskia2820()
286 path->moveTo(orig); in make_path_crbugskia2820()
287 path->cubicTo(p1, p2, p3); in make_path_crbugskia2820()
288 path->close(); in make_path_crbugskia2820()
304 SkBits2Float(0x00000000)); // 26.7735f, 6.40969e-10f, 8.07426f, 0 in test_path_crbugskia5995()
312 path->moveTo(146.939f, 1012.84f); in make_path0()
313 path->lineTo(181.747f, 1009.18f); in make_path0()
314 path->lineTo(182.165f, 1013.16f); in make_path0()
315 path->lineTo(147.357f, 1016.82f); in make_path0()
316 path->lineTo(146.939f, 1012.84f); in make_path0()
317 path->close(); in make_path0()
321 path->addRect(SkRect::MakeXYWH(10, 10, 10, 1)); in make_path1()
457 // This used to assert in the debug build, as the edges did not all line-up.
461 path.cubicTo(-2.35893e+08f, -4.21044e+08f, in test_bad_cubic_crbug234190()
462 -2.38991e+08f, -4.26573e+08f, in test_bad_cubic_crbug234190()
463 -2.41016e+08f, -4.30188e+08f); in test_bad_cubic_crbug234190()
469 { 4595.91064f, -11596.9873f }, in test_bad_cubic_crbug229478()
470 { 4597.2168f, -11595.9414f }, in test_bad_cubic_crbug229478()
471 { 4598.52344f, -11594.8955f }, in test_bad_cubic_crbug229478()
472 { 4599.83008f, -11593.8496f }, in test_bad_cubic_crbug229478()
484 // Before the fix, this would infinite-recurse, and run out of stack in test_bad_cubic_crbug229478()
491 path.lineTo(139.545f, -47.8105f); in build_path_170666()
492 path.lineTo(139.545f, -47.8105f); in build_path_170666()
493 path.lineTo(131.07f, -47.3888f); in build_path_170666()
494 path.lineTo(131.07f, -47.3888f); in build_path_170666()
495 path.lineTo(122.586f, -46.9532f); in build_path_170666()
496 path.lineTo(122.586f, -46.9532f); in build_path_170666()
526 path.lineTo(139.555f, -47.8244f); in build_path_170666()
527 path.lineTo(139.555f, -47.8244f); in build_path_170666()
528 path.lineTo(122.595f, -46.9671f); in build_path_170666()
529 path.lineTo(122.595f, -46.9671f); in build_path_170666()
534 path.lineTo(798267, -28871.1f); in build_path_170666()
535 path.lineTo(798267, -28871.1f); in build_path_170666()
536 path.lineTo(3.12512e+06f, -113102); in build_path_170666()
537 path.lineTo(3.12512e+06f, -113102); in build_path_170666()
538 path.cubicTo(5.16324e+06f, -186882, 8.15247e+06f, -295092, 1.1957e+07f, -432813); in build_path_170666()
539 path.cubicTo(1.95659e+07f, -708257, 3.04359e+07f, -1.10175e+06f, 4.34798e+07f, -1.57394e+06f); in build_path_170666()
540 …path.cubicTo(6.95677e+07f, -2.51831e+06f, 1.04352e+08f, -3.77748e+06f, 1.39135e+08f, -5.03666e+06f… in build_path_170666()
541 … path.cubicTo(1.73919e+08f, -6.29583e+06f, 2.08703e+08f, -7.555e+06f, 2.34791e+08f, -8.49938e+06f); in build_path_170666()
542 …path.cubicTo(2.47835e+08f, -8.97157e+06f, 2.58705e+08f, -9.36506e+06f, 2.66314e+08f, -9.6405e+06f); in build_path_170666()
543 …path.cubicTo(2.70118e+08f, -9.77823e+06f, 2.73108e+08f, -9.88644e+06f, 2.75146e+08f, -9.96022e+06f… in build_path_170666()
544 …path.cubicTo(2.76165e+08f, -9.99711e+06f, 2.76946e+08f, -1.00254e+07f, 2.77473e+08f, -1.00444e+07f… in build_path_170666()
545 path.lineTo(2.78271e+08f, -1.00733e+07f); in build_path_170666()
546 path.lineTo(2.78271e+08f, -1.00733e+07f); in build_path_170666()
547 path.cubicTo(2.78271e+08f, -1.00733e+07f, 2.08703e+08f, -7.555e+06f, 135.238f, 23.3517f); in build_path_170666()
550 … path.cubicTo(2.08703e+08f, -7.555e+06f, 2.78271e+08f, -1.00733e+07f, 2.78271e+08f, -1.00733e+07f); in build_path_170666()
551 path.lineTo(2.77473e+08f, -1.00444e+07f); in build_path_170666()
552 path.lineTo(2.77473e+08f, -1.00444e+07f); in build_path_170666()
553 …path.cubicTo(2.76946e+08f, -1.00254e+07f, 2.76165e+08f, -9.99711e+06f, 2.75146e+08f, -9.96022e+06f… in build_path_170666()
554 …path.cubicTo(2.73108e+08f, -9.88644e+06f, 2.70118e+08f, -9.77823e+06f, 2.66314e+08f, -9.6405e+06f); in build_path_170666()
555 …path.cubicTo(2.58705e+08f, -9.36506e+06f, 2.47835e+08f, -8.97157e+06f, 2.34791e+08f, -8.49938e+06f… in build_path_170666()
556 … path.cubicTo(2.08703e+08f, -7.555e+06f, 1.73919e+08f, -6.29583e+06f, 1.39135e+08f, -5.03666e+06f); in build_path_170666()
557 …path.cubicTo(1.04352e+08f, -3.77749e+06f, 6.95677e+07f, -2.51831e+06f, 4.34798e+07f, -1.57394e+06f… in build_path_170666()
558 path.cubicTo(3.04359e+07f, -1.10175e+06f, 1.95659e+07f, -708258, 1.1957e+07f, -432814); in build_path_170666()
559 path.cubicTo(8.15248e+06f, -295092, 5.16324e+06f, -186883, 3.12513e+06f, -113103); in build_path_170666()
560 path.lineTo(798284, -28872); in build_path_170666()
561 path.lineTo(798284, -28872); in build_path_170666()
571 … path.cubicTo(2.08703e+08f, -7.555e+06f, 2.78271e+08f, -1.00733e+07f, 2.78271e+08f, -1.00733e+07f); in build_path_simple_170666()
575 // too-few interations in our cubic-line intersection code. That code now runs
613 "M-0.3383152268862998,-0.11217565719203619L-0.33846085183212765,-0.11212264406895281" in test_crbug_493450()
614 "L-0.338509393480737,-0.11210607966681395L-0.33857792286700894,-0.1121889121487573" in test_crbug_493450()
615 "L-0.3383866116636664,-0.11228834570924921L-0.33842087635680235,-0.11246078673250548" in test_crbug_493450()
616 "L-0.33809536177201055,-0.11245415228342878L-0.33797257995493996,-0.11216571641452182" in test_crbug_493450()
617 "L-0.33802112160354925,-0.11201996164188659L-0.33819815585141844,-0.11218559834671019Z"; in test_crbug_493450()
624 "M-0.34004273849857214,-0.11332803232216355L-0.34008271397389744,-0.11324483772714951" in test_crbug_495894()
625 "L-0.3401940742265893,-0.11324483772714951L-0.34017694188002134,-0.11329807920275889" in test_crbug_495894()
626 "L-0.3402026403998733,-0.11333468903941245L-0.34029972369709194,-0.11334134592705701" in test_crbug_495894()
627 "L-0.3403054344792813,-0.11344121970007795L-0.3403140006525653,-0.11351115418399343" in test_crbug_495894()
628 "L-0.34024261587519866,-0.11353446986281181L-0.3402197727464413,-0.11360442946144192" in test_crbug_495894()
629 "L-0.34013696640469604,-0.11359110237029302L-0.34009128014718143,-0.1135877707043939" in test_crbug_495894()
630 "L-0.3400598708451401,-0.11360776134112742L-0.34004273849857214,-0.11355112520064405" in test_crbug_495894()
631 "L-0.3400113291965308,-0.11355112520064405L-0.3399970522410575,-0.11359110237029302" in test_crbug_495894()
632 "L-0.33997135372120546,-0.11355112520064405L-0.3399627875479215,-0.11353780084493197" in test_crbug_495894()
633 "L-0.3399485105924481,-0.11350782354357004L-0.3400027630232468,-0.11346452910331437" in test_crbug_495894()
634 "L-0.3399485105924481,-0.11340126558629839L-0.33993994441916414,-0.11340126558629839" in test_crbug_495894()
635 "L-0.33988283659727087,-0.11331804756574679L-0.33989140277055485,-0.11324483772714951" in test_crbug_495894()
636 "L-0.33997991989448945,-0.11324483772714951L-0.3399856306766788,-0.11324483772714951" in test_crbug_495894()
637 "L-0.34002560615200417,-0.11334467443478255ZM-0.3400684370184241,-0.11338461985124307" in test_crbug_495894()
638 "L-0.340154098751264,-0.11341791238732665L-0.340162664924548,-0.1134378899559977" in test_crbug_495894()
639 "L-0.34017979727111597,-0.11340126558629839L-0.3401655203156427,-0.11338129083212668" in test_crbug_495894()
640 "L-0.34012268944922275,-0.11332137577529414L-0.34007414780061346,-0.11334467443478255Z" in test_crbug_495894()
641 "M-0.3400027630232468,-0.11290567901106024L-0.3400113291965308,-0.11298876531245433" in test_crbug_495894()
642 "L-0.33997991989448945,-0.11301535852306784L-0.33990282433493346,-0.11296217481488612" in test_crbug_495894()
643 "L-0.33993994441916414,-0.11288906492739594Z"; in test_crbug_495894()
650 path.conicTo(-6.62478e-08f, 4.13885e-08f, -6.36935e-08f, 3.97927e-08f, 0.729058f); in test_crbug_613918()
651 path.quadTo(2.28206e-09f, -1.42572e-09f, 3.91919e-09f, -2.44852e-09f); in test_crbug_613918()
652 path.cubicTo(-16752.2f, -26792.9f, -21.4673f, 10.9347f, -8.57322f, -7.22739f); in test_crbug_613918()
656 path.contains(-1.84817e-08f, 1.15465e-08f); in test_crbug_613918()
686 // Make sure we stay non-finite once we get there (unless we reset or rewind).
709 path->moveTo(577330, 1971.72f); in build_big_path()
710 path->cubicTo(10.7082f, -116.596f, 262.057f, 45.6468f, 294.694f, 1.96237f); in build_big_path()
712 path->moveTo(60.1631f, 7.70567f); in build_big_path()
713 path->quadTo(60.1631f, 7.70567f, 0.99474f, 0.901199f); in build_big_path()
714 path->lineTo(577379, 1977.77f); in build_big_path()
715 path->quadTo(577364, 1979.57f, 577325, 1980.26f); in build_big_path()
716 path->quadTo(577286, 1980.95f, 577245, 1980.13f); in build_big_path()
717 path->quadTo(577205, 1979.3f, 577187, 1977.45f); in build_big_path()
718 path->quadTo(577168, 1975.6f, 577183, 1973.8f); in build_big_path()
719 path->quadTo(577198, 1972, 577238, 1971.31f); in build_big_path()
720 path->quadTo(577277, 1970.62f, 577317, 1971.45f); in build_big_path()
721 path->quadTo(577330, 1971.72f, 577341, 1972.11f); in build_big_path()
722 path->cubicTo(10.7082f, -116.596f, 262.057f, 45.6468f, 294.694f, 1.96237f); in build_big_path()
723 path->moveTo(306.718f, -32.912f); in build_big_path()
724 path->cubicTo(30.531f, 10.0005f, 1502.47f, 13.2804f, 84.3088f, 9.99601f); in build_big_path()
731 // This path used to assert, because our cubic-chopping code incorrectly in test_clipped_cubic()
741 surface->getCanvas()->drawPath(path, paint); in test_clipped_cubic()
758 // rewritten them to avoid this (compiler-bug?). in test_bounds_crbug_513799()
761 path.moveTo(-5, -8); in test_bounds_crbug_513799()
762 REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, -5, -8) == path.getBounds()); in test_bounds_crbug_513799()
765 REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, 3, 4) == path.getBounds()); in test_bounds_crbug_513799()
768 REPORTER_ASSERT(reporter, SkRect::MakeLTRB(-5, -8, 3, 4) == path.getBounds()); in test_bounds_crbug_513799()
772 path.moveTo(-5, -8); // should set the bounds in test_bounds_crbug_513799()
773 dump_if_ne(reporter, SkRect::MakeLTRB(-5, -8, -5, -8), path.getBounds()); in test_bounds_crbug_513799()
776 dump_if_ne(reporter, SkRect::MakeLTRB(-5, -8, 3, 4), path.getBounds()); in test_bounds_crbug_513799()
779 dump_if_ne(reporter, SkRect::MakeLTRB(-5, -8, 3, 4), path.getBounds()); in test_bounds_crbug_513799()
786 path.conicTo(3.58732e-43f, 2.72084f, 3.00392f, 3.00392f, 8.46e+37f); in test_fuzz_crbug_627414()
831 // we need to still be non-finite in test_isfinite_after_transform()
845 arcRect.setLTRB(-rx, -ry, rx, ry); in add_corner_arc()
848 arcRect.offset(rect.fRight - arcRect.fRight, rect.fBottom - arcRect.fBottom); in add_corner_arc()
851 arcRect.offset(rect.fLeft - arcRect.fLeft, rect.fBottom - arcRect.fBottom); in add_corner_arc()
854 arcRect.offset(rect.fLeft - arcRect.fLeft, rect.fTop - arcRect.fTop); in add_corner_arc()
857 arcRect.offset(rect.fRight - arcRect.fRight, rect.fTop - arcRect.fTop); in add_corner_arc()
863 path->arcTo(arcRect, SkIntToScalar(startAngle), SkIntToScalar(90), false); in add_corner_arc()
873 path->close(); in make_arb_round_rect()
1105 SkPath copy(path); // NOLINT(performance-unnecessary-copy-initialization) in check_direction()
1138 "M 20 10 Q 20 20 30 20 L 10 20", // test double-back at y-max in test_direction()
1152 "M 10 10 L 10 10 Q 20 10 20 -20", in test_direction()
1153 "M 10 10 C 20 10 20 -20 20 -20", in test_direction()
1154 "M 20 10 Q 20 20 10 20 L 30 20", // test double-back at y-max in test_direction()
1183 path.lineTo(110 * SK_Scalar1, -10 * SK_Scalar1); in test_direction()
1184 path.lineTo(-10 * SK_Scalar1, 60 * SK_Scalar1); in test_direction()
1201 path->moveTo(r.fLeft, r.fTop); in add_rect()
1202 path->lineTo(r.fRight, r.fTop); in add_rect()
1203 path->lineTo(r.fRight, r.fBottom); in add_rect()
1204 path->lineTo(r.fLeft, r.fBottom); in add_rect()
1205 path->close(); in add_rect()
1360 SkPath copy(path); // NOLINT(performance-unnecessary-copy-initialization) in check_convexity()
1401 line.lineTo(-12*SK_Scalar1, -20*SK_Scalar1); in test_convexity2()
1416 triRight.lineTo(-SK_Scalar1, 0); in test_convexity2()
1481 dent.lineTo(-50*SK_Scalar1, 200*SK_Scalar1); in test_convexity2()
1482 dent.lineTo(-200*SK_Scalar1, 100*SK_Scalar1); in test_convexity2()
1491 SkScalar y = 500 - (x + SkScalarSin(x / 100) * 40) / 3; in test_convexity2()
1510 degenerateConcave.lineTo(-55.971577f, 460.0f); in test_convexity2()
1531 falseBackEdge.moveTo(-217.83430557928145f, -382.14948768484857f); in test_convexity2()
1532 falseBackEdge.lineTo(-227.73867866614847f, -399.52485512718323f); in test_convexity2()
1533 falseBackEdge.cubicTo(-158.3541047666846f, -439.0757140459542f, in test_convexity2()
1534 -79.8654464485281f, -459.875f, in test_convexity2()
1535 -1.1368683772161603e-13f, -459.875f); in test_convexity2()
1536 falseBackEdge.lineTo(-8.08037266162413e-14f, -439.875f); in test_convexity2()
1537 falseBackEdge.lineTo(-8.526512829121202e-14f, -439.87499999999994f); in test_convexity2()
1538 falseBackEdge.cubicTo(-76.39209188702645f, -439.87499999999994f, in test_convexity2()
1539 -151.46727226799754f, -419.98027663161537f, in test_convexity2()
1540 -217.83430557928145f, -382.14948768484857f); in test_convexity2()
1576 doubleback.lineTo(-1, 0); in test_convexity_doubleback()
1577 doubleback.lineTo(-1, 1); in test_convexity_doubleback()
1578 doubleback.lineTo(-1, 0); in test_convexity_doubleback()
1585 doubleback.lineTo(-1, -1); in test_convexity_doubleback()
1600 doubleback.lineTo(-1, -1); in test_convexity_doubleback()
1633 path->moveTo(x, y); in setFromString()
1636 path->lineTo(x, y); in setFromString()
1676 { "0 0 10 0 0 10 -10 -10", false, SkPathFirstDirection::kCW }, in test_convexity()
1687 SkPath copy(path); // NOLINT(performance-unnecessary-copy-initialization) in test_convexity()
1770 SkPath copy(path); // NOLINT(performance-unnecessary-copy-initialization) in test_convexity()
1804 SkPath copy(path); // NOLINT(performance-unnecessary-copy-initialization) in test_convexity()
1811 path.moveTo(SkBits2Float(0xbe9171db), SkBits2Float(0xbd7eeb5d)); // -0.284072f, -0.0622362f in test_convexity()
1812 path.lineTo(SkBits2Float(0xbe9171db), SkBits2Float(0xbd7eea38)); // -0.284072f, -0.0622351f in test_convexity()
1813 path.lineTo(SkBits2Float(0xbe9171a0), SkBits2Float(0xbd7ee5a7)); // -0.28407f, -0.0622307f in test_convexity()
1814 path.lineTo(SkBits2Float(0xbe917147), SkBits2Float(0xbd7ed886)); // -0.284067f, -0.0622182f in test_convexity()
1815 path.lineTo(SkBits2Float(0xbe917378), SkBits2Float(0xbd7ee1a9)); // -0.284084f, -0.0622269f in test_convexity()
1816 path.lineTo(SkBits2Float(0xbe9171db), SkBits2Float(0xbd7eeb5d)); // -0.284072f, -0.0622362f in test_convexity()
1829 // set some non-zero values in test_isLine()
1875 // kBaseRect is used to construct most our test paths: a rect, a circle, and a round-rect. in test_conservativelyContains()
1883 // round-rect radii in test_conservativelyContains()
1898 kBaseRect.fRight - 0.25f*kBaseRect.width(), in test_conservativelyContains()
1899 kBaseRect.fBottom - 0.25f*kBaseRect.height()), in test_conservativelyContains()
1912 {SkRect::MakeXYWH(kBaseRect.fLeft - 1, kBaseRect.fTop, in test_conservativelyContains()
1915 {SkRect::MakeXYWH(kBaseRect.fLeft, kBaseRect.fTop - 1, in test_conservativelyContains()
1918 {SkRect::MakeXYWH(kBaseRect.fLeft - 1, kBaseRect.fTop, in test_conservativelyContains()
1921 {SkRect::MakeXYWH(kBaseRect.fLeft, kBaseRect.fTop - 1, in test_conservativelyContains()
1925 // zero-w/h rects at each corner of kBaseRect in test_conservativelyContains()
1937 {SkRect::MakeXYWH(kBaseRect.fLeft - 5 * kBaseRect.width(), in test_conservativelyContains()
1938 kBaseRect.fTop - 5 * kBaseRect.height(), in test_conservativelyContains()
1942 // skinny rect that spans same y-range as kBaseRect in test_conservativelyContains()
1947 // short rect that spans same x-range as kBaseRect in test_conservativelyContains()
1951 // skinny rect that spans slightly larger y-range than kBaseRect in test_conservativelyContains()
1956 // short rect that spans slightly larger x-range than kBaseRect in test_conservativelyContains()
2003 // Slightly non-convex shape, shouldn't contain any rects. in test_conservativelyContains()
2028 SkIntToScalar(-10), in test_conservativelyContains()
2032 REPORTER_ASSERT(reporter, !path.conservativelyContainsRect(SkRect::MakeXYWH(SkIntToScalar(-10), in test_conservativelyContains()
2056 // Convexity logic treats a path as filled and closed, so that multiple (non-trailing) moveTos in test_conservativelyContains()
2063 // Same as above path and first test but with the extra moveTo making a degenerate sub-path in test_conservativelyContains()
2064 // following the non-empty sub-path. Verifies that this does not trigger assertions. in test_conservativelyContains()
2159 SkPoint fa[] = {{1, 0}, {8, 0}, {8, 8}, {0, 8}, {0, -1}, {1, -1}}; // non colinear gap in test_isRect()
2167 // like c2, but we double-back on ourselves in test_isRect()
2170 SkPoint d2[] = {{0, 0}, {1, 0}, {1, 2}, {0, 2}, {0, -1}}; in test_isRect()
2171 SkPoint d3[] = {{0, 0}, {1, 0}, {1, 2}, {0, 2}, {0, -1}, {0, 0}}; in test_isRect() local
2213 { d3, std::size(d3), false, false }, in test_isRect()
2233 int pointCount = tests[testIndex].fPointCount - (d2 == tests[testIndex].fPoints); in test_isRect()
2282 path1.moveTo(r1[index - 1].fX, r1[index - 1].fY); in test_isRect()
2464 const SkScalar kStartAngles[] = { -270, -135, -45, 0, 10, 70, 180, 350 }; in test_isArc()
2465 const SkScalar kSweepAngles[] = { -350, -190, -90, -5, 5, 89, 180, 270, 350 }; in test_isArc()
2475 // Include an extra moveTo at the start - this should not interfere with isArc in test_isArc()
2513 // Having any non-move verb before the arc should cause isArc to return false: in test_isArc()
2519 // Finally, transforming an arc path by a non-identity should always result in a non-arc path: in test_isArc()
2569 bool fIsNestedRect; // nests with path.addRect(-1, -1, 2, 2); in test_isNestedFillRects()
2605 path.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2615 path.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2625 expected[0] = SkRect::MakeLTRB(-1, -1, 2, 2); in test_isNestedFillRects()
2644 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2653 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2660 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2671 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2678 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2681 path1.moveTo(r1[index - 1].fX, r1[index - 1].fY); in test_isNestedFillRects()
2686 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2693 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2704 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2711 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCW); in test_isNestedFillRects()
2722 path1.addRect(-1, -1, 2, 2, SkPathDirection::kCCW); in test_isNestedFillRects()
2830 size3 = tooShort.readFromMemory(buffer, size1 - 1); in test_flattening()
2885 SkPath p1; // Leave p1 non-unique (i.e., the empty path) in test_transform()
2933 matrix.setScaleX(-1); in test_transform()
3201 // Test out mixed degenerate and non-degenerate geometry with Conics in test_iter()
3224 // Test that a move-only path returns the move. in test_range_iter()
3550 m.setScaleX(-SK_Scalar1); in test_circle_mirror_x()
3567 m.setScaleY(-SK_Scalar1); in test_circle_mirror_y()
3586 m.setScaleX(-SK_Scalar1); in test_circle_mirror_xy()
3587 m.setScaleY(-SK_Scalar1); in test_circle_mirror_xy()
3652 // the path a circle, most mark it as a non-circle for simplicity in test_circle_with_add_paths()
3697 path.addCircle(0, 0, -1, SkPathDirection::kCW); in test_circle()
3844 REPORTER_ASSERT(reporter, path->isConvex()); in test_rrect_is_convex()
3848 REPORTER_ASSERT(reporter, path->isConvex()); in test_rrect_is_convex()
3849 path->reset(); in test_rrect_is_convex()
3854 REPORTER_ASSERT(reporter, path->isConvex()); in test_rrect_convexity_is_unknown()
3858 REPORTER_ASSERT(reporter, !path->isConvex()); in test_rrect_convexity_is_unknown()
3859 path->reset(); in test_rrect_convexity_is_unknown()
3922 // we check for non-finites in test_rrect()
3946 p.addArc(oval, 0, -360); in test_arc()
3970 return -1.f; in oval_start_index_to_angle()
3979 angle -= 360.f; in canonical_start_angle()
4000 for (SkScalar sweep : {-720.f, -540.f, -360.f, 360.f, 432.f, 720.f}) { in test_arc_ovals()
4001 for (SkScalar start = -360.f; start <= 360.f; start += 1.f) { in test_arc_ovals()
4013 for (float start : {-180.f, -90.f, 90.f, 180.f}) { in test_arc_ovals()
4014 for (float delta : {-SK_ScalarNearlyZero, SK_ScalarNearlyZero}) { in test_arc_ovals()
4061 p->reset(); in check_done_and_reset()
4153 p.arcTo(1, 0, 1, -1, 1); in test_arcTo()
4154 REPORTER_ASSERT(reporter, p.getLastPt(&pt) && pt.fX == 1 && pt.fY == -1); in test_arcTo()
4172 for (float sweep = 361, delta = 0.5f; sweep != (float) (sweep - delta);) { in test_arcTo()
4175 sweep -= delta; in test_arcTo()
4197 REPORTER_ASSERT(reporter, p.getPoint(0) == p.getPoint(n - 1)); in test_arcTo()
4202 p.arcTo(SkRect::MakeXYWH(0, 0, 10, 10), -2.61488527e+33f, 359.992157f, false); in test_arcTo()
4214 p.addPath(q, -4, -4); in test_addPath()
4287 p.conicTo(1, 2, 3, 4, -1); in test_conicTo_special_case()
4311 p.moveTo(SkBits2Float(0xe085e7b1), SkBits2Float(0x5f512c00)); // -7.7191e+19f, 1.50724e+19f in test_contains()
4312 …its2Float(0xdf0cbb58), SkBits2Float(0x3f3504f3)); // -3.15084e+19f, 6.15237e+18f, 5.19345e+19f, - in test_contains()
4313 …oat(0xdf730de8), SkBits2Float(0x3f3504f4)); // 1.35377e+20f, -2.6434e+19f, 8.96947e+19f, -1.75139… in test_contains()
4314 p.lineTo(SkBits2Float(0x609b9872), SkBits2Float(0xdf730de8)); // 8.96947e+19f, -1.75139e+19f in test_contains()
4315 …its2Float(0x5ed5b2db), SkBits2Float(0x3f3504f3)); // 4.40121e+19f, -8.59386e+18f, -3.94308e+19f, … in test_contains()
4316 …2), SkBits2Float(0x5f512c01), SkBits2Float(0x3f3504f3)); // -1.22874e+20f, 2.39925e+19f, -7.7191e… in test_contains()
4318 (void) p.contains(-77.2027664f, 15.3066053f); in test_contains()
4419 for (int index = 0; index < (int) std::size(qPts) - 2; index += 2) { in test_contains()
4434 for (int index = 0; index < (int) std::size(kPts) - 2; index += 2) { in test_contains()
4470 return (ref.fPoints.capacity() - ref.fPoints.size()) * sizeof(SkPoint) in GetFreeSpace()
4471 + (ref.fVerbs.capacity() - ref.fVerbs.size()) * sizeof(uint8_t); in GetFreeSpace()
4483 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countVerbs()); in TestPathRef()
4484 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countPoints()); in TestPathRef()
4485 REPORTER_ASSERT(reporter, 0 == pathRef->getSegmentMasks()); in TestPathRef()
4487 REPORTER_ASSERT(reporter, SkPath::kMove_Verb == pathRef->atVerb(i)); in TestPathRef()
4494 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countVerbs()); in TestPathRef()
4495 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countPoints()); in TestPathRef()
4496 REPORTER_ASSERT(reporter, SkPath::kLine_SegmentMask == pathRef->getSegmentMasks()); in TestPathRef()
4498 REPORTER_ASSERT(reporter, SkPath::kLine_Verb == pathRef->atVerb(i)); in TestPathRef()
4505 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countVerbs()); in TestPathRef()
4506 REPORTER_ASSERT(reporter, 2*kRepeatCnt == pathRef->countPoints()); in TestPathRef()
4507 REPORTER_ASSERT(reporter, SkPath::kQuad_SegmentMask == pathRef->getSegmentMasks()); in TestPathRef()
4509 REPORTER_ASSERT(reporter, SkPath::kQuad_Verb == pathRef->atVerb(i)); in TestPathRef()
4517 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countVerbs()); in TestPathRef()
4518 REPORTER_ASSERT(reporter, 2*kRepeatCnt == pathRef->countPoints()); in TestPathRef()
4519 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countWeights()); in TestPathRef()
4520 REPORTER_ASSERT(reporter, SkPath::kConic_SegmentMask == pathRef->getSegmentMasks()); in TestPathRef()
4523 REPORTER_ASSERT(reporter, SkPath::kConic_Verb == pathRef->atVerb(i)); in TestPathRef()
4530 REPORTER_ASSERT(reporter, kRepeatCnt == pathRef->countVerbs()); in TestPathRef()
4531 REPORTER_ASSERT(reporter, 3*kRepeatCnt == pathRef->countPoints()); in TestPathRef()
4532 REPORTER_ASSERT(reporter, SkPath::kCubic_SegmentMask == pathRef->getSegmentMasks()); in TestPathRef()
4534 REPORTER_ASSERT(reporter, SkPath::kCubic_Verb == pathRef->atVerb(i)); in TestPathRef()
4567 REPORTER_ASSERT(reporter, data->size() == strlen(str)); in compare_dump()
4569 REPORTER_ASSERT(reporter, !memcmp(data->data(), str, strlen(str))); in compare_dump()
4571 … REPORTER_ASSERT(reporter, data->data() == nullptr || !memcmp(data->data(), str, strlen(str))); in compare_dump()
4645 q.moveTo(-4, -4); in TestPathTo()
4654 SkRect reverseExpected = {-4, -4, 8, 8}; in TestPathTo()
4721 // AKA: cubicTo(-4.31596e+08f, -4.31602e+08f, -4.31602e+08f, -4.31602e+08f, 47.951f, 7.42423f); in test_crbug_629455()
4738 surface->getCanvas()->clipPath(path, true); in test_fuzz_crbug_662952()
4739 surface->getCanvas()->drawRect(SkRect::MakeWH(100, 100), paint); in test_fuzz_crbug_662952()
4744 SkCanvas* canvas = surface->getCanvas(); in test_path_crbugskia6003()
4761 canvas->clipPath(path, true); in test_path_crbugskia6003()
4762 canvas->drawRect(SkRect::MakeWH(500, 500), paint); in test_path_crbugskia6003()
4768 path.lineTo(SkBits2Float(0xd5394437), SkBits2Float(0x37373737)); // -1.2731e+13f, 1.09205e-05f in test_fuzz_crbug_662730()
4769 path.lineTo(SkBits2Float(0x37373737), SkBits2Float(0x37373737)); // 1.09205e-05f, 1.09205e-05f in test_fuzz_crbug_662730()
4770 path.lineTo(SkBits2Float(0x37373745), SkBits2Float(0x0001b800)); // 1.09205e-05f, 1.57842e-40f in test_fuzz_crbug_662730()
4778 {{125.126022f, -0.499872506f}, {125.288895f, -0.499338806f}, in test_skbug_6947()
4779 {125.299316f, -0.499290764f}, {126.294594f, 0.505449712f}, in test_skbug_6947()
4781 {124.122749f, 0.498142242f}, {125.126022f, -0.499872506f}, in test_skbug_6947()
4838 path.moveTo(SkBits2Float(0x7f07a5af), SkBits2Float(0xff07ff1d)); // 1.80306e+38f, -1.8077e+38f in test_skbug_7435()
4839 path.lineTo(SkBits2Float(0x7edf4b2d), SkBits2Float(0xfedffe0a)); // 1.48404e+38f, -1.48868e+38f in test_skbug_7435()
4840 path.lineTo(SkBits2Float(0x7edf4585), SkBits2Float(0xfee003b2)); // 1.48389e+38f, -1.48883e+38f in test_skbug_7435()
4841 path.lineTo(SkBits2Float(0x7ef348e9), SkBits2Float(0xfef403c6)); // 1.6169e+38f, -1.62176e+38f in test_skbug_7435()
4842 path.lineTo(SkBits2Float(0x7ef74c4e), SkBits2Float(0xfef803cb)); // 1.64358e+38f, -1.64834e+38f in test_skbug_7435()
4843 …at(0xfef803c9), SkBits2Float(0x3f3504f3)); // 1.64365e+38f, -1.64841e+38f, 1.64372e+38f, -1.64834… in test_skbug_7435()
4844 …oat(0xfef7fe22), SkBits2Float(0x3f353472)); // 1.6438e+38f, -1.64827e+38f, 1.64372e+38f, -1.64819… in test_skbug_7435()
4845 path.lineTo(SkBits2Float(0x7edb57a9), SkBits2Float(0xfedbfe06)); // 1.45778e+38f, -1.4621e+38f in test_skbug_7435()
4846 path.lineTo(SkBits2Float(0x7e875976), SkBits2Float(0xfe87fdb3)); // 8.99551e+37f, -9.03815e+37f in test_skbug_7435()
4847 path.lineTo(SkBits2Float(0x7ded5c2b), SkBits2Float(0xfdeff59e)); // 3.94382e+37f, -3.98701e+37f in test_skbug_7435()
4848 path.lineTo(SkBits2Float(0x7d7a78a7), SkBits2Float(0xfd7fda0f)); // 2.08083e+37f, -2.12553e+37f in test_skbug_7435()
4849 path.lineTo(SkBits2Float(0x7d7a6403), SkBits2Float(0xfd7fe461)); // 2.08016e+37f, -2.12587e+37f in test_skbug_7435()
4850 …oat(0xfd8007a8), SkBits2Float(0x3f3504f3)); // 2.07924e+37f, -2.12633e+37f, 2.0797e+37f, -2.12726… in test_skbug_7435()
4851 …at(0xfd800bcc), SkBits2Float(0x3f7cba66)); // 2.07977e+37f, -2.12741e+37f, 2.07989e+37f, -2.12753… in test_skbug_7435()
4852 path.lineTo(SkBits2Float(0x7d8d2067), SkBits2Float(0xfd900bdb)); // 2.34487e+37f, -2.39338e+37f in test_skbug_7435()
4853 path.lineTo(SkBits2Float(0x7ddd137a), SkBits2Float(0xfde00c2d)); // 3.67326e+37f, -3.72263e+37f in test_skbug_7435()
4854 path.lineTo(SkBits2Float(0x7ddd2a1b), SkBits2Float(0xfddff58e)); // 3.67473e+37f, -3.72116e+37f in test_skbug_7435()
4855 path.lineTo(SkBits2Float(0x7c694ae5), SkBits2Float(0xfc7fa67c)); // 4.8453e+36f, -5.30965e+36f in test_skbug_7435()
4856 path.lineTo(SkBits2Float(0xfc164a8b), SkBits2Float(0x7c005af5)); // -3.12143e+36f, 2.66584e+36f in test_skbug_7435()
4857 path.lineTo(SkBits2Float(0xfc8ae983), SkBits2Float(0x7c802da7)); // -5.77019e+36f, 5.32432e+36f in test_skbug_7435()
4858 path.lineTo(SkBits2Float(0xfc8b16d9), SkBits2Float(0x7c80007b)); // -5.77754e+36f, 5.31699e+36f in test_skbug_7435()
4859 path.lineTo(SkBits2Float(0xfc8b029c), SkBits2Float(0x7c7f8788)); // -5.77426e+36f, 5.30714e+36f in test_skbug_7435()
4860 path.lineTo(SkBits2Float(0xfc8b0290), SkBits2Float(0x7c7f8790)); // -5.77425e+36f, 5.30714e+36f in test_skbug_7435()
4861 path.lineTo(SkBits2Float(0xfc8b16cd), SkBits2Float(0x7c80007f)); // -5.77753e+36f, 5.31699e+36f in test_skbug_7435()
4862 path.lineTo(SkBits2Float(0xfc8b4409), SkBits2Float(0x7c7fa672)); // -5.78487e+36f, 5.30965e+36f in test_skbug_7435()
4863 path.lineTo(SkBits2Float(0x7d7aa2ba), SkBits2Float(0xfd800bd1)); // 2.0822e+37f, -2.12753e+37f in test_skbug_7435()
4864 path.lineTo(SkBits2Float(0x7e8757ee), SkBits2Float(0xfe88035b)); // 8.99512e+37f, -9.03962e+37f in test_skbug_7435()
4865 path.lineTo(SkBits2Float(0x7ef7552d), SkBits2Float(0xfef803ca)); // 1.64381e+38f, -1.64834e+38f in test_skbug_7435()
4866 path.lineTo(SkBits2Float(0x7f0fa653), SkBits2Float(0xff1001f9)); // 1.90943e+38f, -1.91419e+38f in test_skbug_7435()
4867 path.lineTo(SkBits2Float(0x7f0fa926), SkBits2Float(0xff0fff24)); // 1.90958e+38f, -1.91404e+38f in test_skbug_7435()
4868 path.lineTo(SkBits2Float(0x7f0da75c), SkBits2Float(0xff0dff22)); // 1.8829e+38f, -1.88746e+38f in test_skbug_7435()
4869 path.lineTo(SkBits2Float(0x7f07a5af), SkBits2Float(0xff07ff1d)); // 1.80306e+38f, -1.8077e+38f in test_skbug_7435()
4871 path.moveTo(SkBits2Float(0x7f07a2db), SkBits2Float(0xff0801f1)); // 1.80291e+38f, -1.80785e+38f in test_skbug_7435()
4872 path.lineTo(SkBits2Float(0x7f0da48a), SkBits2Float(0xff0e01f8)); // 1.88275e+38f, -1.88761e+38f in test_skbug_7435()
4873 path.lineTo(SkBits2Float(0x7f0fa654), SkBits2Float(0xff1001fa)); // 1.90943e+38f, -1.91419e+38f in test_skbug_7435()
4874 path.lineTo(SkBits2Float(0x7f0fa7bd), SkBits2Float(0xff10008f)); // 1.90951e+38f, -1.91412e+38f in test_skbug_7435()
4875 path.lineTo(SkBits2Float(0x7f0fa927), SkBits2Float(0xff0fff25)); // 1.90958e+38f, -1.91404e+38f in test_skbug_7435()
4876 path.lineTo(SkBits2Float(0x7ef75ad5), SkBits2Float(0xfef7fe22)); // 1.64395e+38f, -1.64819e+38f in test_skbug_7435()
4877 path.lineTo(SkBits2Float(0x7e875d96), SkBits2Float(0xfe87fdb3)); // 8.99659e+37f, -9.03815e+37f in test_skbug_7435()
4878 path.lineTo(SkBits2Float(0x7d7acff6), SkBits2Float(0xfd7fea5b)); // 2.08367e+37f, -2.12606e+37f in test_skbug_7435()
4879 path.lineTo(SkBits2Float(0xfc8b0588), SkBits2Float(0x7c8049b7)); // -5.77473e+36f, 5.32887e+36f in test_skbug_7435()
4880 path.lineTo(SkBits2Float(0xfc8b2b16), SkBits2Float(0x7c803d32)); // -5.78083e+36f, 5.32684e+36f in test_skbug_7435()
4881 …5), SkBits2Float(0x7c802dd1), SkBits2Float(0x3f79349d)); // -5.78314e+36f, 5.32607e+36f, -5.78487… in test_skbug_7435()
4882 …f), SkBits2Float(0x7c7fa69e), SkBits2Float(0x3f3504f3)); // -5.79223e+36f, 5.31702e+36f, -5.7849e… in test_skbug_7435()
4883 path.lineTo(SkBits2Float(0xfc16ffaa), SkBits2Float(0x7bff4c12)); // -3.13612e+36f, 2.65116e+36f in test_skbug_7435()
4884 path.lineTo(SkBits2Float(0x7c6895e0), SkBits2Float(0xfc802dc0)); // 4.83061e+36f, -5.32434e+36f in test_skbug_7435()
4885 path.lineTo(SkBits2Float(0x7ddd137b), SkBits2Float(0xfde00c2e)); // 3.67326e+37f, -3.72263e+37f in test_skbug_7435()
4886 path.lineTo(SkBits2Float(0x7ddd1ecb), SkBits2Float(0xfde000de)); // 3.67399e+37f, -3.72189e+37f in test_skbug_7435()
4887 path.lineTo(SkBits2Float(0x7ddd2a1c), SkBits2Float(0xfddff58f)); // 3.67473e+37f, -3.72116e+37f in test_skbug_7435()
4888 path.lineTo(SkBits2Float(0x7d8d3711), SkBits2Float(0xfd8ff543)); // 2.34634e+37f, -2.39191e+37f in test_skbug_7435()
4889 path.lineTo(SkBits2Float(0x7d7a88fe), SkBits2Float(0xfd7fea69)); // 2.08136e+37f, -2.12606e+37f in test_skbug_7435()
4890 path.lineTo(SkBits2Float(0x7d7a7254), SkBits2Float(0xfd800080)); // 2.08063e+37f, -2.1268e+37f in test_skbug_7435()
4891 path.lineTo(SkBits2Float(0x7d7a80a4), SkBits2Float(0xfd800ed0)); // 2.08109e+37f, -2.12773e+37f in test_skbug_7435()
4892 path.lineTo(SkBits2Float(0x7d7a80a8), SkBits2Float(0xfd800ecf)); // 2.08109e+37f, -2.12773e+37f in test_skbug_7435()
4893 path.lineTo(SkBits2Float(0x7d7a7258), SkBits2Float(0xfd80007f)); // 2.08063e+37f, -2.1268e+37f in test_skbug_7435()
4894 path.lineTo(SkBits2Float(0x7d7a5bb9), SkBits2Float(0xfd800bd0)); // 2.0799e+37f, -2.12753e+37f in test_skbug_7435()
4895 path.lineTo(SkBits2Float(0x7ded458b), SkBits2Float(0xfdf00c3e)); // 3.94235e+37f, -3.98848e+37f in test_skbug_7435()
4896 path.lineTo(SkBits2Float(0x7e8753ce), SkBits2Float(0xfe88035b)); // 8.99405e+37f, -9.03962e+37f in test_skbug_7435()
4897 path.lineTo(SkBits2Float(0x7edb5201), SkBits2Float(0xfedc03ae)); // 1.45763e+38f, -1.46225e+38f in test_skbug_7435()
4898 path.lineTo(SkBits2Float(0x7ef74c4d), SkBits2Float(0xfef803ca)); // 1.64358e+38f, -1.64834e+38f in test_skbug_7435()
4899 path.lineTo(SkBits2Float(0x7ef74f21), SkBits2Float(0xfef800f6)); // 1.64365e+38f, -1.64827e+38f in test_skbug_7435()
4900 path.lineTo(SkBits2Float(0x7ef751f4), SkBits2Float(0xfef7fe21)); // 1.64372e+38f, -1.64819e+38f in test_skbug_7435()
4901 path.lineTo(SkBits2Float(0x7ef34e91), SkBits2Float(0xfef3fe1e)); // 1.61705e+38f, -1.62161e+38f in test_skbug_7435()
4902 path.lineTo(SkBits2Float(0x7edf4b2d), SkBits2Float(0xfedffe0a)); // 1.48404e+38f, -1.48868e+38f in test_skbug_7435()
4903 path.lineTo(SkBits2Float(0x7edf4859), SkBits2Float(0xfee000de)); // 1.48397e+38f, -1.48876e+38f in test_skbug_7435()
4904 path.lineTo(SkBits2Float(0x7edf4585), SkBits2Float(0xfee003b2)); // 1.48389e+38f, -1.48883e+38f in test_skbug_7435()
4905 path.lineTo(SkBits2Float(0x7f07a2db), SkBits2Float(0xff0801f1)); // 1.80291e+38f, -1.80785e+38f in test_skbug_7435()
4907 path.moveTo(SkBits2Float(0xfab120db), SkBits2Float(0x77b50b4f)); // -4.59851e+35f, 7.34402e+33f in test_skbug_7435()
4908 path.lineTo(SkBits2Float(0xfd6597e5), SkBits2Float(0x7d60177f)); // -1.90739e+37f, 1.86168e+37f in test_skbug_7435()
4909 path.lineTo(SkBits2Float(0xfde2cea1), SkBits2Float(0x7de00c2e)); // -3.76848e+37f, 3.72263e+37f in test_skbug_7435()
4910 path.lineTo(SkBits2Float(0xfe316511), SkBits2Float(0x7e300657)); // -5.89495e+37f, 5.84943e+37f in test_skbug_7435()
4911 path.lineTo(SkBits2Float(0xfe415da1), SkBits2Float(0x7e400666)); // -6.42568e+37f, 6.38112e+37f in test_skbug_7435()
4912 path.lineTo(SkBits2Float(0xfe41634a), SkBits2Float(0x7e4000be)); // -6.42641e+37f, 6.38039e+37f in test_skbug_7435()
4913 path.lineTo(SkBits2Float(0xfe41634a), SkBits2Float(0x7e3ff8be)); // -6.42641e+37f, 6.37935e+37f in test_skbug_7435()
4914 path.lineTo(SkBits2Float(0xfe416349), SkBits2Float(0x7e3ff8be)); // -6.42641e+37f, 6.37935e+37f in test_skbug_7435()
4915 path.lineTo(SkBits2Float(0xfe415f69), SkBits2Float(0x7e3ff8be)); // -6.42591e+37f, 6.37935e+37f in test_skbug_7435()
4916 path.lineTo(SkBits2Float(0xfe415bc9), SkBits2Float(0x7e3ff8be)); // -6.42544e+37f, 6.37935e+37f in test_skbug_7435()
4917 path.lineTo(SkBits2Float(0xfe415bc9), SkBits2Float(0x7e4000be)); // -6.42544e+37f, 6.38039e+37f in test_skbug_7435()
4918 path.lineTo(SkBits2Float(0xfe416171), SkBits2Float(0x7e3ffb16)); // -6.42617e+37f, 6.37966e+37f in test_skbug_7435()
4919 path.lineTo(SkBits2Float(0xfe016131), SkBits2Float(0x7dfff5ae)); // -4.29938e+37f, 4.25286e+37f in test_skbug_7435()
4920 path.lineTo(SkBits2Float(0xfe0155e2), SkBits2Float(0x7e000628)); // -4.29791e+37f, 4.25433e+37f in test_skbug_7435()
4921 path.lineTo(SkBits2Float(0xfe0958ea), SkBits2Float(0x7e080630)); // -4.56415e+37f, 4.52018e+37f in test_skbug_7435()
4922 path.lineTo(SkBits2Float(0xfe115c92), SkBits2Float(0x7e100638)); // -4.83047e+37f, 4.78603e+37f in test_skbug_7435()
4923 …e2), SkBits2Float(0x7e100636), SkBits2Float(0x3f3504f3)); // -4.8312e+37f, 4.78676e+37f, -4.83194… in test_skbug_7435()
4924 …2), SkBits2Float(0x7e0ffae8), SkBits2Float(0x3f35240a)); // -4.83267e+37f, 4.78529e+37f, -4.83194… in test_skbug_7435()
4925 path.lineTo(SkBits2Float(0xfe016b92), SkBits2Float(0x7dfff5af)); // -4.30072e+37f, 4.25286e+37f in test_skbug_7435()
4926 path.lineTo(SkBits2Float(0xfdc2d963), SkBits2Float(0x7dbff56e)); // -3.23749e+37f, 3.18946e+37f in test_skbug_7435()
4927 path.lineTo(SkBits2Float(0xfd65ae25), SkBits2Float(0x7d5fea3d)); // -1.90811e+37f, 1.86021e+37f in test_skbug_7435()
4928 … path.lineTo(SkBits2Float(0xfab448de), SkBits2Float(0xf7b50a19)); // -4.68046e+35f, -7.34383e+33f in test_skbug_7435()
4929 path.lineTo(SkBits2Float(0xfab174d9), SkBits2Float(0x43480000)); // -4.60703e+35f, 200 in test_skbug_7435()
4930 path.lineTo(SkBits2Float(0xfab174d9), SkBits2Float(0x7800007f)); // -4.60703e+35f, 1.03848e+34f in test_skbug_7435()
4931 path.lineTo(SkBits2Float(0xfab3f4db), SkBits2Float(0x7800007f)); // -4.67194e+35f, 1.03848e+34f in test_skbug_7435()
4932 path.lineTo(SkBits2Float(0xfab3f4db), SkBits2Float(0x43480000)); // -4.67194e+35f, 200 in test_skbug_7435()
4933 path.lineTo(SkBits2Float(0xfab120db), SkBits2Float(0x77b50b4f)); // -4.59851e+35f, 7.34402e+33f in test_skbug_7435()
4935 … path.moveTo(SkBits2Float(0xfab59cf2), SkBits2Float(0xf800007e)); // -4.71494e+35f, -1.03847e+34f in test_skbug_7435()
4936 … path.lineTo(SkBits2Float(0xfaa7cc52), SkBits2Float(0xf800007f)); // -4.35629e+35f, -1.03848e+34f in test_skbug_7435()
4937 path.lineTo(SkBits2Float(0xfd6580e5), SkBits2Float(0x7d60177f)); // -1.90664e+37f, 1.86168e+37f in test_skbug_7435()
4938 path.lineTo(SkBits2Float(0xfdc2c2c1), SkBits2Float(0x7dc00c0f)); // -3.23602e+37f, 3.19093e+37f in test_skbug_7435()
4939 path.lineTo(SkBits2Float(0xfe016040), SkBits2Float(0x7e000626)); // -4.29925e+37f, 4.25433e+37f in test_skbug_7435()
4940 path.lineTo(SkBits2Float(0xfe115c90), SkBits2Float(0x7e100636)); // -4.83047e+37f, 4.78603e+37f in test_skbug_7435()
4941 path.lineTo(SkBits2Float(0xfe116239), SkBits2Float(0x7e10008f)); // -4.8312e+37f, 4.78529e+37f in test_skbug_7435()
4942 path.lineTo(SkBits2Float(0xfe1167e0), SkBits2Float(0x7e0ffae6)); // -4.83194e+37f, 4.78456e+37f in test_skbug_7435()
4943 path.lineTo(SkBits2Float(0xfe096438), SkBits2Float(0x7e07fade)); // -4.56562e+37f, 4.51871e+37f in test_skbug_7435()
4944 path.lineTo(SkBits2Float(0xfe016130), SkBits2Float(0x7dfff5ac)); // -4.29938e+37f, 4.25286e+37f in test_skbug_7435()
4945 path.lineTo(SkBits2Float(0xfe015b89), SkBits2Float(0x7e00007f)); // -4.29864e+37f, 4.25359e+37f in test_skbug_7435()
4946 path.lineTo(SkBits2Float(0xfe0155e1), SkBits2Float(0x7e000627)); // -4.29791e+37f, 4.25433e+37f in test_skbug_7435()
4947 path.lineTo(SkBits2Float(0xfe415879), SkBits2Float(0x7e4008bf)); // -6.42501e+37f, 6.38143e+37f in test_skbug_7435()
4948 path.lineTo(SkBits2Float(0xfe415f69), SkBits2Float(0x7e4008bf)); // -6.42591e+37f, 6.38143e+37f in test_skbug_7435()
4949 path.lineTo(SkBits2Float(0xfe416349), SkBits2Float(0x7e4008bf)); // -6.42641e+37f, 6.38143e+37f in test_skbug_7435()
4950 path.lineTo(SkBits2Float(0xfe41634a), SkBits2Float(0x7e4008bf)); // -6.42641e+37f, 6.38143e+37f in test_skbug_7435()
4951 …1), SkBits2Float(0x7e400668), SkBits2Float(0x3f6c8ed9)); // -6.42684e+37f, 6.38143e+37f, -6.42715… in test_skbug_7435()
4952 …3), SkBits2Float(0x7e3ffb17), SkBits2Float(0x3f3504f3)); // -6.42788e+37f, 6.38039e+37f, -6.42715… in test_skbug_7435()
4953 path.lineTo(SkBits2Float(0xfe317061), SkBits2Float(0x7e2ffb07)); // -5.89642e+37f, 5.84796e+37f in test_skbug_7435()
4954 path.lineTo(SkBits2Float(0xfde2e542), SkBits2Float(0x7ddff58e)); // -3.76995e+37f, 3.72116e+37f in test_skbug_7435()
4955 path.lineTo(SkBits2Float(0xfd65c525), SkBits2Float(0x7d5fea3d)); // -1.90886e+37f, 1.86021e+37f in test_skbug_7435()
4956 … path.lineTo(SkBits2Float(0xfab6c8db), SkBits2Float(0xf7b50b4f)); // -4.74536e+35f, -7.34402e+33f in test_skbug_7435()
4957 … path.lineTo(SkBits2Float(0xfab59cf2), SkBits2Float(0xf800007e)); // -4.71494e+35f, -1.03847e+34f in test_skbug_7435()
4959 path.moveTo(SkBits2Float(0xfab3f4db), SkBits2Float(0x43480000)); // -4.67194e+35f, 200 in test_skbug_7435()
4960 path.lineTo(SkBits2Float(0xfab174d9), SkBits2Float(0x43480000)); // -4.60703e+35f, 200 in test_skbug_7435()
4961 …7f), SkBits2Float(0xfd659785), SkBits2Float(0x7d6000de)); // -1.10971e+37f, 1.0634e+37f, -1.90737… in test_skbug_7435()
4962 …9f), SkBits2Float(0xfdc2ce12), SkBits2Float(0x7dc000be)); // -2.70505e+37f, 2.6585e+37f, -3.23675… in test_skbug_7435()
4963 …e), SkBits2Float(0xfe0165e9), SkBits2Float(0x7e00007f)); // -3.76845e+37f, 3.72189e+37f, -4.29999… in test_skbug_7435()
4964 …f), SkBits2Float(0xfe116239), SkBits2Float(0x7e10008f)); // -4.83153e+37f, 4.78529e+37f, -4.8312e… in test_skbug_7435()
4965 …f), SkBits2Float(0xfe095e91), SkBits2Float(0x7e080087)); // -4.83094e+37f, 4.78529e+37f, -4.56488… in test_skbug_7435()
4966 …f), SkBits2Float(0xfe015b89), SkBits2Float(0x7e00007f)); // -4.29884e+37f, 4.25359e+37f, -4.29864… in test_skbug_7435()
4967 path.lineTo(SkBits2Float(0xfe415bc9), SkBits2Float(0x7e4000be)); // -6.42544e+37f, 6.38039e+37f in test_skbug_7435()
4968 …e), SkBits2Float(0xfe415f69), SkBits2Float(0x7e4000be)); // -6.42568e+37f, 6.38039e+37f, -6.42591… in test_skbug_7435()
4969 …e), SkBits2Float(0xfe416349), SkBits2Float(0x7e4000be)); // -6.42615e+37f, 6.38039e+37f, -6.42641… in test_skbug_7435()
4970 …e), SkBits2Float(0xfe316ab9), SkBits2Float(0x7e3000af)); // -6.42706e+37f, 6.38039e+37f, -5.89569… in test_skbug_7435()
4971 …f), SkBits2Float(0xfde2d9f2), SkBits2Float(0x7de000de)); // -5.36431e+37f, 5.31699e+37f, -3.76921… in test_skbug_7435()
4972 …9f), SkBits2Float(0xfd65ae85), SkBits2Float(0x7d6000de)); // -2.70582e+37f, 2.6585e+37f, -1.90812… in test_skbug_7435()
4973 …7f), SkBits2Float(0xfab3f4db), SkBits2Float(0x43480000)); // -1.11043e+37f, 1.0634e+37f, -4.67194… in test_skbug_7435()
4975 path.moveTo(SkBits2Float(0x7f07a445), SkBits2Float(0xff080087)); // 1.80299e+38f, -1.80778e+38f in test_skbug_7435()
4976 …oat(0x7f0da5f3), SkBits2Float(0xff0e008d)); // 1.8562e+38f, -1.86095e+38f, 1.88283e+38f, -1.88753… in test_skbug_7435()
4977 …at(0x7f0fa7bd), SkBits2Float(0xff10008f)); // 1.90946e+38f, -1.91412e+38f, 1.90951e+38f, -1.91412… in test_skbug_7435()
4978 …at(0x7ef75801), SkBits2Float(0xfef800f6)); // 1.90965e+38f, -1.91412e+38f, 1.64388e+38f, -1.64827… in test_skbug_7435()
4979 …at(0x7e875ac2), SkBits2Float(0xfe880087)); // 1.37811e+38f, -1.38242e+38f, 8.99585e+37f, -9.03889… in test_skbug_7435()
4980 …at(0x7d7ab958), SkBits2Float(0xfd80007f)); // 4.74226e+37f, -4.78529e+37f, 2.08293e+37f, -2.1268e… in test_skbug_7435()
4981 …f), SkBits2Float(0xfc8b16cd), SkBits2Float(0x7c80007f)); // -5.76374e+36f, 5.31699e+36f, -5.77753… in test_skbug_7435()
4982 …f), SkBits2Float(0xfc16a51a), SkBits2Float(0x7c00007f)); // -5.78273e+36f, 5.31699e+36f, -3.12877… in test_skbug_7435()
4983 …, SkBits2Float(0x7c68f062), SkBits2Float(0xfc80007f)); // -4.7482e+35f, 200, 4.83795e+36f, -5.316… in test_skbug_7435()
4984 path.lineTo(SkBits2Float(0x7ddd1ecb), SkBits2Float(0xfde000de)); // 3.67399e+37f, -3.72189e+37f in test_skbug_7435()
4985 …oat(0x7d8d2bbc), SkBits2Float(0xfd90008f)); // 2.61103e+37f, -2.6585e+37f, 2.3456e+37f, -2.39265e… in test_skbug_7435()
4986 …oat(0x7d7a7258), SkBits2Float(0xfd80007f)); // 2.08019e+37f, -2.1268e+37f, 2.08063e+37f, -2.1268e… in test_skbug_7435()
4987 …loat(0x7ded50db), SkBits2Float(0xfdf000ee)); // 2.0816e+37f, -2.1268e+37f, 3.94309e+37f, -3.98774… in test_skbug_7435()
4988 …at(0x7e8756a2), SkBits2Float(0xfe880087)); // 5.80458e+37f, -5.84869e+37f, 8.99478e+37f, -9.03889… in test_skbug_7435()
4989 …at(0x7edb54d5), SkBits2Float(0xfedc00da)); // 1.27167e+38f, -1.27608e+38f, 1.45771e+38f, -1.46217… in test_skbug_7435()
4990 …at(0x7ef74f21), SkBits2Float(0xfef800f6)); // 1.64375e+38f, -1.64827e+38f, 1.64365e+38f, -1.64827… in test_skbug_7435()
4991 …at(0x7ef34bbd), SkBits2Float(0xfef400f2)); // 1.64361e+38f, -1.64827e+38f, 1.61698e+38f, -1.62168… in test_skbug_7435()
4992 …oat(0x7edf4859), SkBits2Float(0xfee000de)); // 1.59035e+38f, -1.5951e+38f, 1.48397e+38f, -1.48876… in test_skbug_7435()
4993 path.lineTo(SkBits2Float(0x7f07a445), SkBits2Float(0xff080087)); // 1.80299e+38f, -1.80778e+38f in test_skbug_7435()
4996 ->getCanvas() in test_skbug_7435()
4997 ->drawPath(path, paint); in test_skbug_7435()
5003 REPORTER_ASSERT(reporter, p1.interpolate(p2, 0, &out)); in test_interp()
5005 REPORTER_ASSERT(reporter, p1.interpolate(p2, 1, &out)); in test_interp()
5010 REPORTER_ASSERT(reporter, !p1.interpolate(p2, 1, &out)); in test_interp()
5014 REPORTER_ASSERT(reporter, p1.interpolate(p2, 0, &out)); in test_interp()
5016 REPORTER_ASSERT(reporter, p1.interpolate(p2, 1, &out)); in test_interp()
5018 REPORTER_ASSERT(reporter, p1.interpolate(p2, 0.5f, &out)); in test_interp()
5027 REPORTER_ASSERT(reporter, p1.interpolate(p2, 0.5f, &out)); in test_interp()
5046 path.moveTo(SkBits2Float(0x44000000), SkBits2Float(0x373938b8)); // 512, 1.10401e-05f in DEF_TEST()
5047 …t(0x00000100), SkBits2Float(0x00000000)); // 1.4013e-45f, -9.22346e+18f, 3.58732e-43f, 0, 3.58732… in DEF_TEST()
5052 ->getCanvas() in DEF_TEST()
5053 ->drawPath(path, SkPaint()); in DEF_TEST()
5242 path.moveTo(SkBits2Float(0x44000000), SkBits2Float(0x373938b8)); // 512, 1.10401e-05f in DEF_TEST()
5243 // 1.4013e-45f, -9.22346e+18f, 3.58732e-43f, 0, 3.58732e-43f, 0 in DEF_TEST()
5250 path.conservativelyContainsRect({ -211747, 12.1115f, -197893, 25.0321f }); in DEF_TEST()
5259 path->lineTo(rand.nextF()*100, rand.nextF()*100); in rand_path()
5262 path->quadTo(rand.nextF()*100, rand.nextF()*100, in rand_path()
5266 path->conicTo(rand.nextF()*100, rand.nextF()*100, in rand_path()
5270 path->cubicTo(rand.nextF()*100, rand.nextF()*100, in rand_path()
5306 { 1.81159976e-09f, 7.58768801e-05f }, in DEF_TEST()
5313 SkRect ro = { 9.18354821e-39f, 2.1710848e+9f, 2.16945843e+9f, 3.47808128e+9f }; in DEF_TEST()
5317 { 2.52999727e-29f, 169.001938f }, in DEF_TEST()
5322 SkMakeNullCanvas()->drawDRRect(orr, irr, SkPaint()); in DEF_TEST()
5338 size_t bytesWritten = data->size(); in DEF_TEST()
5343 size_t bytesRead = readBack.readFromMemory(data->data(), bytesWritten); in DEF_TEST()
5352 size_t bytesRead = readBack.readFromMemory(data->data(), bytesWritten - 4); in DEF_TEST()
5397 auto canvas = surf->getCanvas(); in DEF_TEST()
5410 SkRect r = { -x, -x, x, x }; in DEF_TEST()
5417 canvas->drawRect(r, paint); in DEF_TEST()
5418 canvas->drawOval(r, paint); in DEF_TEST()
5426 // Treat nonfinite paths as "empty" or "full", depending on inverse-filltype
5429 SkCanvas* canvas = surf->getCanvas(); in DEF_TEST()
5431 REPORTER_ASSERT(reporter, !canvas->isClipEmpty()); in DEF_TEST()
5438 if (bits & 1) p0.fX = -bad; in DEF_TEST()
5439 if (bits & 2) p0.fY = -bad; in DEF_TEST()
5447 canvas->save(); in DEF_TEST()
5448 canvas->clipPath(path, aa); in DEF_TEST()
5449 REPORTER_ASSERT(reporter, canvas->isClipEmpty() == !path.isInverseFillType()); in DEF_TEST()
5450 canvas->restore(); in DEF_TEST()
5455 REPORTER_ASSERT(reporter, !canvas->isClipEmpty()); in DEF_TEST()
5460 auto makePath = [](const SkPoint* points, size_t count, bool close) -> SkPath { in DEF_TEST()
5470 auto makePath2 = [](const SkPoint* points, const SkPath::Verb* verbs, size_t count) -> SkPath { in DEF_TEST()
5495 compare.setBounds(&points[1], std::size(points) - 1); in DEF_TEST()
5505 compare.setBounds(&points9[1], std::size(points9) - 1); in DEF_TEST()
5530 compare.setBounds(&points15[0], std::size(points15) - 1); in DEF_TEST()
5642 canvas->drawPath(path, SkPaint()); in draw_triangle()
5647 canvas->drawVertices(v, SkBlendMode::kSrcOver, SkPaint()); in draw_triangle()
5658 draw_triangle(surface->getCanvas(), pts); in DEF_TEST()
5664 // The first two points, when sent through our fixed-point SkEdge, can walk negative beyond in DEF_TEST()
5665 // -0.5 due to accumulated += error of the slope. We have since make the bounds calculation in DEF_TEST()
5670 { 0.327190518f, -114.945152f }, in DEF_TEST()
5671 { -0.5f, 1.00003874f }, in DEF_TEST()
5674 draw_triangle(surface->getCanvas(), pts); in DEF_TEST()
5678 path->moveTo(0, 0); in add_verbs()
5681 case 0: path->lineTo(10, 20); break; in add_verbs()
5682 case 1: path->quadTo(5, 6, 7, 8); break; in add_verbs()
5683 case 2: path->conicTo(1, 2, 3, 4, 0.5f); break; in add_verbs()
5684 case 3: path->cubicTo(2, 4, 6, 8, 10, 12); break; in add_verbs()
5718 // changed, breaking the "sharing" -- this is done defensively in case there were any in DEF_TEST()
5756 * - convexity, isrect, isoval, ...
5757 * Axis-aligned shapes (rect, oval, rrect) should survive, including convexity if the matrix
5758 * is axis-aligned (e.g. scale+translate)
5777 // expect axis-aligned shape to survive assignment, identity and scale/translate matrices
5783 REPORTER_ASSERT(reporter, path->isConvex()); in survive()
5793 path->transform(x.fIM, &path2); in survive()
5794 path->transform(x.fIM); in survive()
5801 path->transform(x.fTM, &path2); in survive()
5802 path->transform(x.fTM); in survive()
5809 path->transform(x.fSM, &path2); in survive()
5810 path->transform(x.fSM); in survive()
5816 // For security, post-rotation, we can't assume we're still convex. It might prove to be, in survive()
5819 path->transform(x.fRM, &path2); in survive()
5820 path->transform(x.fRM); in survive()
5845 // make a trapazoid; definitely convex, but not marked as axis-aligned (e.g. oval, rrect) in DEF_TEST()
5858 constexpr size_t len = sizeof(text) - 1; in DEF_TEST()
5867 ((SkPath*)ctx)->addPath(*src, mx); in DEF_TEST()
5874 …path.offset(0, 5, &(copyPath)); // <== change buffer copyPath.fPathRef->fPoint… in DEF_TEST()
5929 // build our default p-array clockwise in test_addRect_and_trailing_lineTo()
5981 * path.moveTo(...) <-- needed to show the bug
5990 * Given a path, and the expected last-point and last-move-to in it, in test_addPath_and_injected_moveTo()
5997 SkPoint p = path.getPoint(path.countPoints() - 1); in test_addPath_and_injected_moveTo()
6003 p = path.getPoint(path.countPoints() - 2); in test_addPath_and_injected_moveTo()
6006 p = path.getPoint(path.countPoints() - 1); in test_addPath_and_injected_moveTo()
6075 SkPoint actualMoveTo = p2.getPoint(p2.countPoints() - 2); in DEF_TEST()
6077 SkPoint actualLineTo = p2.getPoint(p2.countPoints() - 1); in DEF_TEST()
6083 actualMoveTo = p1.getPoint(p1.countPoints() - 2); in DEF_TEST()
6085 actualLineTo = p1.getPoint(p1.countPoints() - 1); in DEF_TEST()
6096 const SkScalar scale = 1e-8f; in DEF_TEST()
6104 // Test both an empty and non-empty rect passed to SkPath::addRect in DEF_TEST()
6143 path.conicTo(9.98099e+17f, 2.83874e+15f, 1.75098e-30f, 1.75097e-30f, 1.05385e+18f); in DEF_TEST()
6144 path.conicTo(9.96938e+17f, 6.3804e+19f, 9.96934e+17f, 1.75096e-30f, 1.75096e-30f); in DEF_TEST()
6150 pathWithExtraMoveTo.moveTo(5.90043e-39f, 1.34525e-43f); in DEF_TEST()
6163 path.quadTo(0.00665998459f, 4, -1.99334002f, 4); in DEF_TEST()
6164 path.quadTo(-3.99334002f, 4, -3.99334002f, 2); in DEF_TEST()
6165 path.quadTo(-3.99334002f, 0, -1.99334002f, 0); in DEF_TEST()
6171 surface->getCanvas()->drawPath(path, paint); in DEF_TEST()