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

Side by Side Diff: samplecode/SampleSlides.cpp

Issue 2396953002: Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" (Closed)
Patch Set: add tmp virtual to unroll legacy arithmodes Created 4 years, 2 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
« no previous file with comments | « samplecode/SampleRegion.cpp ('k') | samplecode/SampleXfer.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 2011 Google Inc. 2 * Copyright 2011 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 "SampleCode.h" 7 #include "SampleCode.h"
8 #include "SkBlurMask.h" 8 #include "SkBlurMask.h"
9 #include "SkBlurMaskFilter.h" 9 #include "SkBlurMaskFilter.h"
10 #include "SkCanvas.h" 10 #include "SkCanvas.h"
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 SkBlurMask::ConvertRadiusToSigma(3))) ; 465 SkBlurMask::ConvertRadiusToSigma(3))) ;
466 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); 466 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
467 467
468 p.setMaskFilter(nullptr); 468 p.setMaskFilter(nullptr);
469 p.setStyle(SkPaint::kStroke_Style); 469 p.setStyle(SkPaint::kStroke_Style);
470 p.setStrokeWidth(SK_Scalar1); 470 p.setStrokeWidth(SK_Scalar1);
471 rastBuilder->addLayer(p); 471 rastBuilder->addLayer(p);
472 472
473 p.setAlpha(0x11); 473 p.setAlpha(0x11);
474 p.setStyle(SkPaint::kFill_Style); 474 p.setStyle(SkPaint::kFill_Style);
475 p.setXfermodeMode(SkXfermode::kSrc_Mode); 475 p.setBlendMode(SkBlendMode::kSrc);
476 rastBuilder->addLayer(p); 476 rastBuilder->addLayer(p);
477 } 477 }
478 478
479 static void r1(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 479 static void r1(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
480 { 480 {
481 rastBuilder->addLayer(p); 481 rastBuilder->addLayer(p);
482 482
483 p.setAlpha(0x40); 483 p.setAlpha(0x40);
484 p.setXfermodeMode(SkXfermode::kSrc_Mode); 484 p.setBlendMode(SkBlendMode::kSrc);
485 p.setStyle(SkPaint::kStroke_Style); 485 p.setStyle(SkPaint::kStroke_Style);
486 p.setStrokeWidth(SK_Scalar1*2); 486 p.setStrokeWidth(SK_Scalar1*2);
487 rastBuilder->addLayer(p); 487 rastBuilder->addLayer(p);
488 } 488 }
489 489
490 static void r2(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 490 static void r2(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
491 { 491 {
492 p.setStyle(SkPaint::kStrokeAndFill_Style); 492 p.setStyle(SkPaint::kStrokeAndFill_Style);
493 p.setStrokeWidth(SK_Scalar1*4); 493 p.setStrokeWidth(SK_Scalar1*4);
494 rastBuilder->addLayer(p); 494 rastBuilder->addLayer(p);
495 495
496 p.setStyle(SkPaint::kStroke_Style); 496 p.setStyle(SkPaint::kStroke_Style);
497 p.setStrokeWidth(SK_Scalar1*3/2); 497 p.setStrokeWidth(SK_Scalar1*3/2);
498 p.setXfermodeMode(SkXfermode::kClear_Mode); 498 p.setBlendMode(SkBlendMode::kClear);
499 rastBuilder->addLayer(p); 499 rastBuilder->addLayer(p);
500 } 500 }
501 501
502 static void r3(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 502 static void r3(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
503 { 503 {
504 p.setStyle(SkPaint::kStroke_Style); 504 p.setStyle(SkPaint::kStroke_Style);
505 p.setStrokeWidth(SK_Scalar1*3); 505 p.setStrokeWidth(SK_Scalar1*3);
506 rastBuilder->addLayer(p); 506 rastBuilder->addLayer(p);
507 507
508 p.setAlpha(0x20); 508 p.setAlpha(0x20);
509 p.setStyle(SkPaint::kFill_Style); 509 p.setStyle(SkPaint::kFill_Style);
510 p.setXfermodeMode(SkXfermode::kSrc_Mode); 510 p.setBlendMode(SkBlendMode::kSrc);
511 rastBuilder->addLayer(p); 511 rastBuilder->addLayer(p);
512 } 512 }
513 513
514 static void r4(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 514 static void r4(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
515 { 515 {
516 p.setAlpha(0x60); 516 p.setAlpha(0x60);
517 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); 517 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
518 518
519 p.setAlpha(0xFF); 519 p.setAlpha(0xFF);
520 p.setXfermodeMode(SkXfermode::kClear_Mode); 520 p.setBlendMode(SkBlendMode::kClear);
521 rastBuilder->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2); 521 rastBuilder->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2);
522 522
523 p.setXfermode(nullptr); 523 p.setBlendMode(SkBlendMode::kSrcOver);
524 rastBuilder->addLayer(p); 524 rastBuilder->addLayer(p);
525 } 525 }
526 526
527 #include "SkDiscretePathEffect.h" 527 #include "SkDiscretePathEffect.h"
528 528
529 static void r5(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 529 static void r5(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
530 { 530 {
531 rastBuilder->addLayer(p); 531 rastBuilder->addLayer(p);
532 532
533 p.setPathEffect(SkDiscretePathEffect::Make(SK_Scalar1*4, SK_Scalar1*3)); 533 p.setPathEffect(SkDiscretePathEffect::Make(SK_Scalar1*4, SK_Scalar1*3));
534 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); 534 p.setBlendMode(SkBlendMode::kSrcOut);
535 rastBuilder->addLayer(p); 535 rastBuilder->addLayer(p);
536 } 536 }
537 537
538 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 538 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
539 { 539 {
540 rastBuilder->addLayer(p); 540 rastBuilder->addLayer(p);
541 541
542 p.setAntiAlias(false); 542 p.setAntiAlias(false);
543 SkLayerRasterizer::Builder rastBuilder2; 543 SkLayerRasterizer::Builder rastBuilder2;
544 r5(&rastBuilder2, p); 544 r5(&rastBuilder2, p);
545 p.setRasterizer(rastBuilder2.detach()); 545 p.setRasterizer(rastBuilder2.detach());
546 p.setXfermodeMode(SkXfermode::kClear_Mode); 546 p.setBlendMode(SkBlendMode::kClear);
547 rastBuilder->addLayer(p); 547 rastBuilder->addLayer(p);
548 } 548 }
549 549
550 #include "Sk2DPathEffect.h" 550 #include "Sk2DPathEffect.h"
551 551
552 static sk_sp<SkPathEffect> MakeDotEffect(SkScalar radius, const SkMatrix& matrix ) { 552 static sk_sp<SkPathEffect> MakeDotEffect(SkScalar radius, const SkMatrix& matrix ) {
553 SkPath path; 553 SkPath path;
554 path.addCircle(0, 0, radius); 554 path.addCircle(0, 0, radius);
555 return SkPath2DPathEffect::Make(matrix, path); 555 return SkPath2DPathEffect::Make(matrix, path);
556 } 556 }
557 557
558 static void r7(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 558 static void r7(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
559 { 559 {
560 SkMatrix lattice; 560 SkMatrix lattice;
561 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0); 561 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0);
562 lattice.postSkew(SK_Scalar1/3, 0, 0, 0); 562 lattice.postSkew(SK_Scalar1/3, 0, 0, 0);
563 p.setPathEffect(MakeDotEffect(SK_Scalar1*4, lattice)); 563 p.setPathEffect(MakeDotEffect(SK_Scalar1*4, lattice));
564 rastBuilder->addLayer(p); 564 rastBuilder->addLayer(p);
565 } 565 }
566 566
567 static void r8(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 567 static void r8(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
568 { 568 {
569 rastBuilder->addLayer(p); 569 rastBuilder->addLayer(p);
570 570
571 SkMatrix lattice; 571 SkMatrix lattice;
572 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0); 572 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0);
573 lattice.postSkew(SK_Scalar1/3, 0, 0, 0); 573 lattice.postSkew(SK_Scalar1/3, 0, 0, 0);
574 p.setPathEffect(MakeDotEffect(SK_Scalar1*2, lattice)); 574 p.setPathEffect(MakeDotEffect(SK_Scalar1*2, lattice));
575 p.setXfermodeMode(SkXfermode::kClear_Mode); 575 p.setBlendMode(SkBlendMode::kClear);
576 rastBuilder->addLayer(p); 576 rastBuilder->addLayer(p);
577 577
578 p.setPathEffect(nullptr); 578 p.setPathEffect(nullptr);
579 p.setXfermode(nullptr); 579 p.setBlendMode(SkBlendMode::kSrcOver);
580 p.setStyle(SkPaint::kStroke_Style); 580 p.setStyle(SkPaint::kStroke_Style);
581 p.setStrokeWidth(SK_Scalar1); 581 p.setStrokeWidth(SK_Scalar1);
582 rastBuilder->addLayer(p); 582 rastBuilder->addLayer(p);
583 } 583 }
584 584
585 static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) 585 static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
586 { 586 {
587 rastBuilder->addLayer(p); 587 rastBuilder->addLayer(p);
588 588
589 SkMatrix lattice; 589 SkMatrix lattice;
590 lattice.setScale(SK_Scalar1, SK_Scalar1*6, 0, 0); 590 lattice.setScale(SK_Scalar1, SK_Scalar1*6, 0, 0);
591 lattice.postRotate(SkIntToScalar(30), 0, 0); 591 lattice.postRotate(SkIntToScalar(30), 0, 0);
592 p.setPathEffect(SkLine2DPathEffect::Make(SK_Scalar1*2, lattice)); 592 p.setPathEffect(SkLine2DPathEffect::Make(SK_Scalar1*2, lattice));
593 p.setXfermodeMode(SkXfermode::kClear_Mode); 593 p.setBlendMode(SkBlendMode::kClear);
594 rastBuilder->addLayer(p); 594 rastBuilder->addLayer(p);
595 595
596 p.setPathEffect(nullptr); 596 p.setPathEffect(nullptr);
597 p.setXfermode(nullptr); 597 p.setBlendMode(SkBlendMode::kSrcOver);
598 p.setStyle(SkPaint::kStroke_Style); 598 p.setStyle(SkPaint::kStroke_Style);
599 p.setStrokeWidth(SK_Scalar1); 599 p.setStrokeWidth(SK_Scalar1);
600 rastBuilder->addLayer(p); 600 rastBuilder->addLayer(p);
601 } 601 }
602 602
603 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&); 603 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&);
604 604
605 static const raster_proc gRastProcs[] = { 605 static const raster_proc gRastProcs[] = {
606 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9 606 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9
607 }; 607 };
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 } 709 }
710 710
711 private: 711 private:
712 typedef SampleView INHERITED; 712 typedef SampleView INHERITED;
713 }; 713 };
714 714
715 ////////////////////////////////////////////////////////////////////////////// 715 //////////////////////////////////////////////////////////////////////////////
716 716
717 static SkView* MyFactory() { return new SlideView; } 717 static SkView* MyFactory() { return new SlideView; }
718 static SkViewRegister reg(MyFactory); 718 static SkViewRegister reg(MyFactory);
OLDNEW
« no previous file with comments | « samplecode/SampleRegion.cpp ('k') | samplecode/SampleXfer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698