Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: tests/PathOpsSimplifyTest.cpp

Issue 21359002: path ops work in progress (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: remove space Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/PathOpsSimplifyFailTest.cpp ('k') | tests/PathOpsThreadedCommon.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 8
9 #define TEST(name) { name, #name } 9 #define TEST(name) { name, #name }
10 10
(...skipping 2795 matching lines...) Expand 10 before | Expand all | Expand 10 after
2806 path.lineTo(330.463562f, 217.659027f); 2806 path.lineTo(330.463562f, 217.659027f);
2807 path.lineTo(303.12088f, 141.299606f); 2807 path.lineTo(303.12088f, 141.299606f);
2808 path.close(); 2808 path.close();
2809 path.moveTo(371.919067f, 205.854996f); 2809 path.moveTo(371.919067f, 205.854996f);
2810 path.lineTo(326.236786f, 205.854996f); 2810 path.lineTo(326.236786f, 205.854996f);
2811 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f); 2811 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2812 path.lineTo(371.919067f, 205.854996f); 2812 path.lineTo(371.919067f, 205.854996f);
2813 path.close(); 2813 path.close();
2814 testSimplify(reporter, path); 2814 testSimplify(reporter, path);
2815 } 2815 }
2816
2816 static void testQuadratic55(skiatest::Reporter* reporter) { 2817 static void testQuadratic55(skiatest::Reporter* reporter) {
2817 SkPath path; 2818 SkPath path;
2818 path.moveTo(303.12088f, 141.299606f); 2819 path.moveTo(303.12088f, 141.299606f);
2819 path.lineTo(330.463562f, 217.659027f); 2820 path.lineTo(330.463562f, 217.659027f);
2820 path.lineTo(358.606506f, 141.299606f); 2821 path.lineTo(358.606506f, 141.299606f);
2821 path.lineTo(303.12088f, 141.299606f); 2822 path.lineTo(303.12088f, 141.299606f);
2822 path.close(); 2823 path.close();
2823 path.moveTo(326.236786f, 205.854996f); 2824 path.moveTo(326.236786f, 205.854996f);
2824 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f); 2825 path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2825 path.lineTo(326.236786f, 205.854996f); 2826 path.lineTo(326.236786f, 205.854996f);
(...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after
3821 path.cubicTo(705.000000f, 13.4101496f, 706.455078f, 10.1601505f, 708.807617f , 7.80761385f); 3822 path.cubicTo(705.000000f, 13.4101496f, 706.455078f, 10.1601505f, 708.807617f , 7.80761385f);
3822 path.lineTo(708.099182f, 7.09919119f); 3823 path.lineTo(708.099182f, 7.09919119f);
3823 path.close(); 3824 path.close();
3824 path.moveTo(704.000000f, 3.00000000f); 3825 path.moveTo(704.000000f, 3.00000000f);
3825 path.lineTo(704.000000f, 33.0000000f); 3826 path.lineTo(704.000000f, 33.0000000f);
3826 path.lineTo(705.000000f, 33.0000000f); 3827 path.lineTo(705.000000f, 33.0000000f);
3827 path.lineTo(719.500000f, 3.00000000f); 3828 path.lineTo(719.500000f, 3.00000000f);
3828 testSimplify(reporter, path); 3829 testSimplify(reporter, path);
3829 } 3830 }
3830 3831
3831 static void (*firstTest)(skiatest::Reporter* ) = testQuad6; 3832 static void tooCloseTest(skiatest::Reporter* reporter) {
3833 SkPath path;
3834 path.moveTo(0, 0);
3835 path.lineTo(1, 1);
3836 path.lineTo(1,-1);
3837 path.close();
3838 path.moveTo(0, 0);
3839 path.lineTo(1,-2);
3840 path.lineTo(1, 2);
3841 path.lineTo(2, 0);
3842 path.close();
3843 testSimplify(reporter, path);
3844 }
3845
3846 static void testRect1(skiatest::Reporter* reporter) {
3847 SkPath path;
3848 path.addRect(0, 0, 60, 60, SkPath::kCCW_Direction);
3849 path.addRect(30, 20, 50, 50, SkPath::kCCW_Direction);
3850 path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
3851 path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction);
3852 testSimplify(reporter, path);
3853 }
3854
3855 static void testRect2(skiatest::Reporter* reporter) {
3856 SkPath path;
3857 path.setFillType(SkPath::kWinding_FillType);
3858 path.moveTo(0, 0);
3859 path.lineTo(60, 0);
3860 path.lineTo(60, 60);
3861 path.lineTo(0, 60);
3862 path.close();
3863 path.moveTo(30, 20);
3864 path.lineTo(30, 50);
3865 path.lineTo(50, 50);
3866 path.lineTo(50, 20);
3867 path.close();
3868 path.moveTo(24, 20);
3869 path.lineTo(24, 30);
3870 path.lineTo(36, 30);
3871 path.lineTo(36, 20);
3872 path.close();
3873 path.moveTo(32, 24);
3874 path.lineTo(32, 41);
3875 path.lineTo(36, 41);
3876 path.lineTo(36, 24);
3877 path.close();
3878 testSimplify(reporter, path);
3879 }
3880
3881 static void testTriangles3x(skiatest::Reporter* reporter) {
3882 SkPath path;
3883 path.setFillType(SkPath::kEvenOdd_FillType);
3884 path.moveTo(1, 0);
3885 path.quadTo(0, 1, 3, 2);
3886 path.lineTo(1, 3);
3887 path.close();
3888 path.moveTo(0, 0);
3889 path.lineTo(1, 1);
3890 path.quadTo(2, 1, 0, 2);
3891 path.close();
3892 testSimplify(reporter, path);
3893 }
3894
3895 static void testQuad8(skiatest::Reporter* reporter) {
3896 SkPath path;
3897 path.moveTo(3, 0);
3898 path.quadTo(0, 1, 3, 2);
3899 path.lineTo(0, 3);
3900 path.close();
3901 path.moveTo(1, 0);
3902 path.lineTo(3, 0);
3903 path.quadTo(1, 1, 2, 2);
3904 path.close();
3905 testSimplify(reporter, path);
3906 }
3907
3908 static void (*firstTest)(skiatest::Reporter* ) = testRect2;
3832 3909
3833 static TestDesc tests[] = { 3910 static TestDesc tests[] = {
3911 TEST(testQuad8),
3912 TEST(testTriangles3x),
3913 TEST(testRect2),
3914 TEST(testRect1),
3915 TEST(tooCloseTest),
3834 TEST(skphealth_com76), 3916 TEST(skphealth_com76),
3835 TEST(testQuadLineIntersect1), 3917 TEST(testQuadLineIntersect1),
3836 TEST(testQuadLineIntersect2), 3918 TEST(testQuadLineIntersect2),
3837 TEST(testQuadLineIntersect3), 3919 TEST(testQuadLineIntersect3),
3838 TEST(testQuad7), 3920 TEST(testQuad7),
3839 TEST(testQuad6), 3921 TEST(testQuad6),
3840 TEST(testQuad5), 3922 TEST(testQuad5),
3841 TEST(testQuad4), 3923 TEST(testQuad4),
3842 TEST(testQuad3), 3924 TEST(testQuad3),
3843 TEST(testQuad2), 3925 TEST(testQuad2),
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
4192 static const size_t subTestCount = SK_ARRAY_COUNT(subTests); 4274 static const size_t subTestCount = SK_ARRAY_COUNT(subTests);
4193 4275
4194 static void (*firstSubTest)(skiatest::Reporter* ) = 0; 4276 static void (*firstSubTest)(skiatest::Reporter* ) = 0;
4195 4277
4196 static bool runSubTestsFirst = false; 4278 static bool runSubTestsFirst = false;
4197 static bool runReverse = false; 4279 static bool runReverse = false;
4198 static void (*stopTest)(skiatest::Reporter* ) = 0; 4280 static void (*stopTest)(skiatest::Reporter* ) = 0;
4199 4281
4200 static void PathOpsSimplifyTest(skiatest::Reporter* reporter) { 4282 static void PathOpsSimplifyTest(skiatest::Reporter* reporter) {
4201 #ifdef SK_DEBUG 4283 #ifdef SK_DEBUG
4202 gDebugMaxWindSum = 4; 4284 SkPathOpsDebug::gMaxWindSum = 4;
4203 gDebugMaxWindValue = 4; 4285 SkPathOpsDebug::gMaxWindValue = 4;
4204 #endif 4286 #endif
4205 if (runSubTestsFirst) { 4287 if (runSubTestsFirst) {
4206 RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, run Reverse); 4288 RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, run Reverse);
4207 } 4289 }
4208 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse); 4290 RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse);
4209 if (!runSubTestsFirst) { 4291 if (!runSubTestsFirst) {
4210 RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, run Reverse); 4292 RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, run Reverse);
4211 } 4293 }
4212 #ifdef SK_DEBUG 4294 #ifdef SK_DEBUG
4213 gDebugMaxWindSum = SK_MaxS32; 4295 SkPathOpsDebug::gMaxWindSum = SK_MaxS32;
4214 gDebugMaxWindValue = SK_MaxS32; 4296 SkPathOpsDebug::gMaxWindValue = SK_MaxS32;
4215 #endif 4297 #endif
4216 } 4298 }
4217 4299
4218 #include "TestClassDef.h" 4300 #include "TestClassDef.h"
4219 DEFINE_TESTCLASS_SHORT(PathOpsSimplifyTest) 4301 DEFINE_TESTCLASS_SHORT(PathOpsSimplifyTest)
OLDNEW
« no previous file with comments | « tests/PathOpsSimplifyFailTest.cpp ('k') | tests/PathOpsThreadedCommon.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698