OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 | 7 |
8 #include "PathOpsTSectDebug.h" | 8 #include "PathOpsTSectDebug.h" |
9 #include "SkOpCoincidence.h" | 9 #include "SkOpCoincidence.h" |
10 #include "SkOpContour.h" | 10 #include "SkOpContour.h" |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 template <typename TCurve, typename OppCurve> | 389 template <typename TCurve, typename OppCurve> |
390 const SkTSpan<TCurve, OppCurve>* DebugSpan(const SkTSect<TCurve, OppCurve>* sect
, int id) { | 390 const SkTSpan<TCurve, OppCurve>* DebugSpan(const SkTSect<TCurve, OppCurve>* sect
, int id) { |
391 return sect->debugSpan(id); | 391 return sect->debugSpan(id); |
392 } | 392 } |
393 | 393 |
394 void DontCallDebugSpan(int id); | 394 void DontCallDebugSpan(int id); |
395 void DontCallDebugSpan(int id) { // exists to instantiate the templates | 395 void DontCallDebugSpan(int id) { // exists to instantiate the templates |
396 SkDQuad quad; | 396 SkDQuad quad; |
397 SkDConic conic; | 397 SkDConic conic; |
398 SkDCubic cubic; | 398 SkDCubic cubic; |
399 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 399 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
400 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 400 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
401 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 401 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
402 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 402 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
403 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 403 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
404 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 404 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
405 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 405 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
406 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 406 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
407 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 407 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
408 DebugSpan(&q1q2, id); | 408 DebugSpan(&q1q2, id); |
409 DebugSpan(&q1k2, id); | 409 DebugSpan(&q1k2, id); |
410 DebugSpan(&q1c2, id); | 410 DebugSpan(&q1c2, id); |
411 DebugSpan(&k1q2, id); | 411 DebugSpan(&k1q2, id); |
412 DebugSpan(&k1k2, id); | 412 DebugSpan(&k1k2, id); |
413 DebugSpan(&k1c2, id); | 413 DebugSpan(&k1c2, id); |
414 DebugSpan(&c1q2, id); | 414 DebugSpan(&c1q2, id); |
415 DebugSpan(&c1k2, id); | 415 DebugSpan(&c1k2, id); |
416 DebugSpan(&c1c2, id); | 416 DebugSpan(&c1c2, id); |
417 } | 417 } |
418 | 418 |
419 template <typename TCurve, typename OppCurve> | 419 template <typename TCurve, typename OppCurve> |
420 const SkTSpan<TCurve, OppCurve>* DebugT(const SkTSect<TCurve, OppCurve>* sect, d
ouble t) { | 420 const SkTSpan<TCurve, OppCurve>* DebugT(const SkTSect<TCurve, OppCurve>* sect, d
ouble t) { |
421 return sect->debugT(t); | 421 return sect->debugT(t); |
422 } | 422 } |
423 | 423 |
424 void DontCallDebugT(double t); | 424 void DontCallDebugT(double t); |
425 void DontCallDebugT(double t) { // exists to instantiate the templates | 425 void DontCallDebugT(double t) { // exists to instantiate the templates |
426 SkDQuad quad; | 426 SkDQuad quad; |
427 SkDConic conic; | 427 SkDConic conic; |
428 SkDCubic cubic; | 428 SkDCubic cubic; |
429 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 429 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
430 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 430 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
431 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 431 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
432 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 432 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
433 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 433 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
434 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 434 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
435 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 435 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
436 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 436 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
437 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 437 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
438 DebugT(&q1q2, t); | 438 DebugT(&q1q2, t); |
439 DebugT(&q1k2, t); | 439 DebugT(&q1k2, t); |
440 DebugT(&q1c2, t); | 440 DebugT(&q1c2, t); |
441 DebugT(&k1q2, t); | 441 DebugT(&k1q2, t); |
442 DebugT(&k1k2, t); | 442 DebugT(&k1k2, t); |
443 DebugT(&k1c2, t); | 443 DebugT(&k1c2, t); |
444 DebugT(&c1q2, t); | 444 DebugT(&c1q2, t); |
445 DebugT(&c1k2, t); | 445 DebugT(&c1k2, t); |
446 DebugT(&c1c2, t); | 446 DebugT(&c1c2, t); |
447 } | 447 } |
448 | 448 |
449 template <typename TCurve, typename OppCurve> | 449 template <typename TCurve, typename OppCurve> |
450 void Dump(const SkTSect<TCurve, OppCurve>* sect) { | 450 void Dump(const SkTSect<TCurve, OppCurve>* sect) { |
451 sect->dump(); | 451 sect->dump(); |
452 } | 452 } |
453 | 453 |
454 void DontCallDumpTSect(); | 454 void DontCallDumpTSect(); |
455 void DontCallDumpTSect() { // exists to instantiate the templates | 455 void DontCallDumpTSect() { // exists to instantiate the templates |
456 SkDQuad quad; | 456 SkDQuad quad; |
457 SkDConic conic; | 457 SkDConic conic; |
458 SkDCubic cubic; | 458 SkDCubic cubic; |
459 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 459 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
460 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 460 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
461 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 461 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
462 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 462 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
463 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 463 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
464 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 464 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
465 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 465 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
466 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 466 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
467 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 467 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
468 Dump(&q1q2); | 468 Dump(&q1q2); |
469 Dump(&q1k2); | 469 Dump(&q1k2); |
470 Dump(&q1c2); | 470 Dump(&q1c2); |
471 Dump(&k1q2); | 471 Dump(&k1q2); |
472 Dump(&k1k2); | 472 Dump(&k1k2); |
473 Dump(&k1c2); | 473 Dump(&k1c2); |
474 Dump(&c1q2); | 474 Dump(&c1q2); |
475 Dump(&c1k2); | 475 Dump(&c1k2); |
476 Dump(&c1c2); | 476 Dump(&c1c2); |
477 } | 477 } |
478 | 478 |
479 template <typename TCurve, typename OppCurve> | 479 template <typename TCurve, typename OppCurve> |
480 void DumpBoth(SkTSect<TCurve, OppCurve>* sect1, SkTSect<OppCurve, TCurve>* sect2
) { | 480 void DumpBoth(SkTSect<TCurve, OppCurve>* sect1, SkTSect<OppCurve, TCurve>* sect2
) { |
481 sect1->dumpBoth(sect2); | 481 sect1->dumpBoth(sect2); |
482 } | 482 } |
483 | 483 |
484 void DontCallDumpBoth(); | 484 void DontCallDumpBoth(); |
485 void DontCallDumpBoth() { // exists to instantiate the templates | 485 void DontCallDumpBoth() { // exists to instantiate the templates |
486 SkDQuad quad; | 486 SkDQuad quad; |
487 SkDConic conic; | 487 SkDConic conic; |
488 SkDCubic cubic; | 488 SkDCubic cubic; |
489 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 489 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
490 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 490 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
491 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 491 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
492 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 492 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
493 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 493 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
494 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 494 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
495 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 495 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
496 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 496 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
497 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 497 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
498 DumpBoth(&q1q2, &q1q2); | 498 DumpBoth(&q1q2, &q1q2); |
499 DumpBoth(&q1k2, &k1q2); | 499 DumpBoth(&q1k2, &k1q2); |
500 DumpBoth(&q1c2, &c1q2); | 500 DumpBoth(&q1c2, &c1q2); |
501 DumpBoth(&k1q2, &q1k2); | 501 DumpBoth(&k1q2, &q1k2); |
502 DumpBoth(&k1k2, &k1k2); | 502 DumpBoth(&k1k2, &k1k2); |
503 DumpBoth(&k1c2, &c1k2); | 503 DumpBoth(&k1c2, &c1k2); |
504 DumpBoth(&c1q2, &q1c2); | 504 DumpBoth(&c1q2, &q1c2); |
505 DumpBoth(&c1k2, &k1c2); | 505 DumpBoth(&c1k2, &k1c2); |
506 DumpBoth(&c1c2, &c1c2); | 506 DumpBoth(&c1c2, &c1c2); |
507 } | 507 } |
508 | 508 |
509 template <typename TCurve, typename OppCurve> | 509 template <typename TCurve, typename OppCurve> |
510 void DumpBounded(SkTSect<TCurve, OppCurve>* sect1, int id) { | 510 void DumpBounded(SkTSect<TCurve, OppCurve>* sect1, int id) { |
511 sect1->dumpBounded(id); | 511 sect1->dumpBounded(id); |
512 } | 512 } |
513 | 513 |
514 void DontCallDumpBounded(); | 514 void DontCallDumpBounded(); |
515 void DontCallDumpBounded() { | 515 void DontCallDumpBounded() { |
516 SkDQuad quad; | 516 SkDQuad quad; |
517 SkDConic conic; | 517 SkDConic conic; |
518 SkDCubic cubic; | 518 SkDCubic cubic; |
519 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 519 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
520 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 520 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
521 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 521 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
522 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 522 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
523 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 523 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
524 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 524 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
525 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 525 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
526 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 526 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
527 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 527 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
528 DumpBounded(&q1q2, 0); | 528 DumpBounded(&q1q2, 0); |
529 DumpBounded(&q1k2, 0); | 529 DumpBounded(&q1k2, 0); |
530 DumpBounded(&q1c2, 0); | 530 DumpBounded(&q1c2, 0); |
531 DumpBounded(&k1q2, 0); | 531 DumpBounded(&k1q2, 0); |
532 DumpBounded(&k1k2, 0); | 532 DumpBounded(&k1k2, 0); |
533 DumpBounded(&k1c2, 0); | 533 DumpBounded(&k1c2, 0); |
534 DumpBounded(&c1q2, 0); | 534 DumpBounded(&c1q2, 0); |
535 DumpBounded(&c1k2, 0); | 535 DumpBounded(&c1k2, 0); |
536 DumpBounded(&c1c2, 0); | 536 DumpBounded(&c1c2, 0); |
537 } | 537 } |
538 | 538 |
539 template <typename TCurve, typename OppCurve> | 539 template <typename TCurve, typename OppCurve> |
540 void DumpBounds(SkTSect<TCurve, OppCurve>* sect1) { | 540 void DumpBounds(SkTSect<TCurve, OppCurve>* sect1) { |
541 sect1->dumpBounds(); | 541 sect1->dumpBounds(); |
542 } | 542 } |
543 | 543 |
544 void DontCallDumpBounds(); | 544 void DontCallDumpBounds(); |
545 void DontCallDumpBounds() { | 545 void DontCallDumpBounds() { |
546 SkDQuad quad; | 546 SkDQuad quad; |
547 SkDConic conic; | 547 SkDConic conic; |
548 SkDCubic cubic; | 548 SkDCubic cubic; |
549 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 549 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
550 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 550 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
551 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 551 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
552 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 552 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
553 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 553 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
554 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 554 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
555 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 555 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
556 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 556 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
557 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 557 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
558 DumpBounds(&q1q2); | 558 DumpBounds(&q1q2); |
559 DumpBounds(&q1k2); | 559 DumpBounds(&q1k2); |
560 DumpBounds(&q1c2); | 560 DumpBounds(&q1c2); |
561 DumpBounds(&k1q2); | 561 DumpBounds(&k1q2); |
562 DumpBounds(&k1k2); | 562 DumpBounds(&k1k2); |
563 DumpBounds(&k1c2); | 563 DumpBounds(&k1c2); |
564 DumpBounds(&c1q2); | 564 DumpBounds(&c1q2); |
565 DumpBounds(&c1k2); | 565 DumpBounds(&c1k2); |
566 DumpBounds(&c1c2); | 566 DumpBounds(&c1c2); |
567 } | 567 } |
568 | 568 |
569 template <typename TCurve, typename OppCurve> | 569 template <typename TCurve, typename OppCurve> |
570 void DumpCoin(SkTSect<TCurve, OppCurve>* sect1) { | 570 void DumpCoin(SkTSect<TCurve, OppCurve>* sect1) { |
571 sect1->dumpCoin(); | 571 sect1->dumpCoin(); |
572 } | 572 } |
573 | 573 |
574 void DontCallDumpCoin(); | 574 void DontCallDumpCoin(); |
575 void DontCallDumpCoin() { // exists to instantiate the templates | 575 void DontCallDumpCoin() { // exists to instantiate the templates |
576 SkDQuad quad; | 576 SkDQuad quad; |
577 SkDConic conic; | 577 SkDConic conic; |
578 SkDCubic cubic; | 578 SkDCubic cubic; |
579 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 579 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
580 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 580 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
581 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 581 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
582 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 582 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
583 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 583 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
584 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 584 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
585 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 585 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
586 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 586 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
587 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 587 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
588 DumpCoin(&q1q2); | 588 DumpCoin(&q1q2); |
589 DumpCoin(&q1k2); | 589 DumpCoin(&q1k2); |
590 DumpCoin(&q1c2); | 590 DumpCoin(&q1c2); |
591 DumpCoin(&k1q2); | 591 DumpCoin(&k1q2); |
592 DumpCoin(&k1k2); | 592 DumpCoin(&k1k2); |
593 DumpCoin(&k1c2); | 593 DumpCoin(&k1c2); |
594 DumpCoin(&c1q2); | 594 DumpCoin(&c1q2); |
595 DumpCoin(&c1k2); | 595 DumpCoin(&c1k2); |
596 DumpCoin(&c1c2); | 596 DumpCoin(&c1c2); |
597 } | 597 } |
598 | 598 |
599 template <typename TCurve, typename OppCurve> | 599 template <typename TCurve, typename OppCurve> |
600 void DumpCoinCurves(SkTSect<TCurve, OppCurve>* sect1) { | 600 void DumpCoinCurves(SkTSect<TCurve, OppCurve>* sect1) { |
601 sect1->dumpCoinCurves(); | 601 sect1->dumpCoinCurves(); |
602 } | 602 } |
603 | 603 |
604 void DontCallDumpCoinCurves(); | 604 void DontCallDumpCoinCurves(); |
605 void DontCallDumpCoinCurves() { // exists to instantiate the templates | 605 void DontCallDumpCoinCurves() { // exists to instantiate the templates |
606 SkDQuad quad; | 606 SkDQuad quad; |
607 SkDConic conic; | 607 SkDConic conic; |
608 SkDCubic cubic; | 608 SkDCubic cubic; |
609 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 609 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
610 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 610 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
611 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 611 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
612 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 612 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
613 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 613 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
614 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 614 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
615 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 615 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
616 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 616 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
617 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 617 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
618 DumpCoinCurves(&q1q2); | 618 DumpCoinCurves(&q1q2); |
619 DumpCoinCurves(&q1k2); | 619 DumpCoinCurves(&q1k2); |
620 DumpCoinCurves(&q1c2); | 620 DumpCoinCurves(&q1c2); |
621 DumpCoinCurves(&k1q2); | 621 DumpCoinCurves(&k1q2); |
622 DumpCoinCurves(&k1k2); | 622 DumpCoinCurves(&k1k2); |
623 DumpCoinCurves(&k1c2); | 623 DumpCoinCurves(&k1c2); |
624 DumpCoinCurves(&c1q2); | 624 DumpCoinCurves(&c1q2); |
625 DumpCoinCurves(&c1k2); | 625 DumpCoinCurves(&c1k2); |
626 DumpCoinCurves(&c1c2); | 626 DumpCoinCurves(&c1c2); |
627 } | 627 } |
628 | 628 |
629 template <typename TCurve, typename OppCurve> | 629 template <typename TCurve, typename OppCurve> |
630 void DumpCurves(const SkTSect<TCurve, OppCurve>* sect) { | 630 void DumpCurves(const SkTSect<TCurve, OppCurve>* sect) { |
631 sect->dumpCurves(); | 631 sect->dumpCurves(); |
632 } | 632 } |
633 | 633 |
634 void DontCallDumpCurves(); | 634 void DontCallDumpCurves(); |
635 void DontCallDumpCurves() { // exists to instantiate the templates | 635 void DontCallDumpCurves() { // exists to instantiate the templates |
636 SkDQuad quad; | 636 SkDQuad quad; |
637 SkDConic conic; | 637 SkDConic conic; |
638 SkDCubic cubic; | 638 SkDCubic cubic; |
639 SkTSect<SkDQuad, SkDQuad> q1q2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 639 SkTSect<SkDQuad, SkDQuad> q1q2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_
T_SECT_PARAMS(1)); |
640 SkTSect<SkDQuad, SkDConic> q1k2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 640 SkTSect<SkDQuad, SkDConic> q1k2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
641 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 641 SkTSect<SkDQuad, SkDCubic> q1c2(quad SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG
_T_SECT_PARAMS(1)); |
642 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 642 SkTSect<SkDConic, SkDQuad> k1q2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
643 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 643 SkTSect<SkDConic, SkDConic> k1k2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
644 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 644 SkTSect<SkDConic, SkDCubic> k1c2(conic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
645 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 645 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBU
G_T_SECT_PARAMS(1)); |
646 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 646 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
647 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); | 647 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEB
UG_T_SECT_PARAMS(1)); |
648 DumpCurves(&q1q2); | 648 DumpCurves(&q1q2); |
649 DumpCurves(&q1k2); | 649 DumpCurves(&q1k2); |
650 DumpCurves(&q1c2); | 650 DumpCurves(&q1c2); |
651 DumpCurves(&k1q2); | 651 DumpCurves(&k1q2); |
652 DumpCurves(&k1k2); | 652 DumpCurves(&k1k2); |
653 DumpCurves(&k1c2); | 653 DumpCurves(&k1c2); |
654 DumpCurves(&c1q2); | 654 DumpCurves(&c1q2); |
655 DumpCurves(&c1k2); | 655 DumpCurves(&c1k2); |
656 DumpCurves(&c1c2); | 656 DumpCurves(&c1c2); |
657 } | 657 } |
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1454 segment = segment->next(); | 1454 segment = segment->next(); |
1455 } | 1455 } |
1456 } while ((contour = contour->next())); | 1456 } while ((contour = contour->next())); |
1457 return nullptr; | 1457 return nullptr; |
1458 } | 1458 } |
1459 #endif | 1459 #endif |
1460 | 1460 |
1461 #if DEBUG_T_SECT_DUMP > 1 | 1461 #if DEBUG_T_SECT_DUMP > 1 |
1462 int gDumpTSectNum; | 1462 int gDumpTSectNum; |
1463 #endif | 1463 #endif |
OLD | NEW |