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

Side by Side Diff: tests/PathOpsAngleTest.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 | « src/pathops/SkQuarticRoot.cpp ('k') | tests/PathOpsCubicIntersectionTest.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 2013 Google Inc. 2 * Copyright 2013 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 "PathOpsTestCommon.h" 7 #include "PathOpsTestCommon.h"
8 #include "SkOpSegment.h" 8 #include "SkOpSegment.h"
9 #include "SkTArray.h" 9 #include "SkTArray.h"
10 #include "Test.h" 10 #include "Test.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 { TEST_ENTRY(set8), {0, 0}}, 226 { TEST_ENTRY(set8), {0, 0}},
227 { TEST_ENTRY(set7), {0, 0}}, 227 { TEST_ENTRY(set7), {0, 0}},
228 { TEST_ENTRY(set6a), {3.55555558f,2.77777767f} }, 228 { TEST_ENTRY(set6a), {3.55555558f,2.77777767f} },
229 { TEST_ENTRY(set6), {0, 0}}, 229 { TEST_ENTRY(set6), {0, 0}},
230 { TEST_ENTRY(set5a), {306,596} }, 230 { TEST_ENTRY(set5a), {306,596} },
231 { TEST_ENTRY(set5), {0, 0}}, 231 { TEST_ENTRY(set5), {0, 0}},
232 // { TEST_ENTRY(set4), {0, 0}}, 232 // { TEST_ENTRY(set4), {0, 0}},
233 { TEST_ENTRY(set3), {0, 0}}, 233 { TEST_ENTRY(set3), {0, 0}},
234 { TEST_ENTRY(set2), {0, 0}}, 234 { TEST_ENTRY(set2), {0, 0}},
235 // { TEST_ENTRY(set1a), {3.70370364f,3.14814806f} }, 235 // { TEST_ENTRY(set1a), {3.70370364f,3.14814806f} },
236 { TEST_ENTRY(set1), {0, 0}}, 236 // { TEST_ENTRY(set1), {0, 0}},
237 }; 237 };
238 238
239 #undef TEST_ENTRY 239 #undef TEST_ENTRY
240 240
241 static void setup(const SortSet* set, const size_t idx, 241 static void setup(const SortSet* set, const size_t idx,
242 SkOpSegment* seg, int* ts, const SkPoint& startPt) { 242 SkOpSegment* seg, int* ts, const SkPoint& startPt) {
243 SkPoint start, end; 243 SkPoint start, end;
244 const SkPoint* data = set[idx].ptData; 244 const SkPoint* data = set[idx].ptData;
245 bool useIntersectPt = startPt.fX != 0 || startPt.fY != 0; 245 bool useIntersectPt = startPt.fX != 0 || startPt.fY != 0;
246 if (useIntersectPt) { 246 if (useIntersectPt) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 SkASSERT(ValidCubic(dCubic)); 280 SkASSERT(ValidCubic(dCubic));
281 if (useIntersectPt) { 281 if (useIntersectPt) {
282 break; 282 break;
283 } 283 }
284 start = dCubic.ptAtT(set[idx].tStart).asSkPoint(); 284 start = dCubic.ptAtT(set[idx].tStart).asSkPoint();
285 end = dCubic.ptAtT(set[idx].tEnd).asSkPoint(); 285 end = dCubic.ptAtT(set[idx].tEnd).asSkPoint();
286 } break; 286 } break;
287 } 287 }
288 double tStart = set[idx].tStart; 288 double tStart = set[idx].tStart;
289 double tEnd = set[idx].tEnd; 289 double tEnd = set[idx].tEnd;
290 seg->addT(NULL, start, tStart); 290 seg->addT(NULL, start, tStart, SkOpSpan::kPointIsExact);
291 seg->addT(NULL, end, tEnd); 291 seg->addT(NULL, end, tEnd, SkOpSpan::kPointIsExact);
292 if (tStart != 0 && tEnd != 0) { 292 if (tStart != 0 && tEnd != 0) {
293 seg->addT(NULL, set[idx].ptData[0], 0); 293 seg->addT(NULL, set[idx].ptData[0], 0, SkOpSpan::kPointIsExact);
294 } 294 }
295 if (tStart != 1 && tEnd != 1) { 295 if (tStart != 1 && tEnd != 1) {
296 seg->addT(NULL, set[idx].ptData[set[idx].ptCount - 1], 1); 296 seg->addT(NULL, set[idx].ptData[set[idx].ptCount - 1], 1, SkOpSpan::kPoi ntIsExact);
297 } 297 }
298 int tIndex = 0; 298 int tIndex = 0;
299 ts[0] = 0; 299 ts[0] = 0;
300 ts[1] = 1; 300 ts[1] = 1;
301 do { 301 do {
302 if (seg->t(tIndex) == set[idx].tStart) { 302 if (seg->t(tIndex) == set[idx].tStart) {
303 ts[0] = tIndex; 303 ts[0] = tIndex;
304 } 304 }
305 if (seg->t(tIndex) == set[idx].tEnd) { 305 if (seg->t(tIndex) == set[idx].tEnd) {
306 ts[1] = tIndex; 306 ts[1] = tIndex;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 } 469 }
470 } 470 }
471 #endif 471 #endif
472 472
473 #include "TestClassDef.h" 473 #include "TestClassDef.h"
474 DEFINE_TESTCLASS_SHORT(PathOpsAngleTest) 474 DEFINE_TESTCLASS_SHORT(PathOpsAngleTest)
475 475
476 DEFINE_TESTCLASS_SHORT(PathOpsAngleTestOne) 476 DEFINE_TESTCLASS_SHORT(PathOpsAngleTestOne)
477 477
478 // DEFINE_TESTCLASS_SHORT(PathOpsAngleFindSlop) 478 // DEFINE_TESTCLASS_SHORT(PathOpsAngleFindSlop)
OLDNEW
« no previous file with comments | « src/pathops/SkQuarticRoot.cpp ('k') | tests/PathOpsCubicIntersectionTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698