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

Side by Side Diff: samplecode/SampleFilterFuzz.cpp

Issue 1842793002: Switch SkLocalMatrixImageFilter and SkPaintImageFilter over to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Ooops Created 4 years, 8 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 | « include/effects/SkPaintImageFilter.h ('k') | src/core/SkCanvas.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 "SampleCode.h" 7 #include "SampleCode.h"
8 #include "Sk1DPathEffect.h" 8 #include "Sk1DPathEffect.h"
9 #include "Sk2DPathEffect.h" 9 #include "Sk2DPathEffect.h"
10 #include "SkAlphaThresholdFilter.h" 10 #include "SkAlphaThresholdFilter.h"
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 light); 480 light);
481 } 481 }
482 case 2: 482 case 2:
483 default: 483 default:
484 maskFilter = nullptr; 484 maskFilter = nullptr;
485 break; 485 break;
486 } 486 }
487 return maskFilter; 487 return maskFilter;
488 } 488 }
489 489
490 static SkImageFilter* make_image_filter(bool canBeNull = true); 490 static sk_sp<SkImageFilter> make_image_filter(bool canBeNull = true);
491 491
492 static SkPaint make_paint() { 492 static SkPaint make_paint() {
493 SkPaint paint; 493 SkPaint paint;
494 paint.setHinting(make_paint_hinting()); 494 paint.setHinting(make_paint_hinting());
495 paint.setAntiAlias(make_bool()); 495 paint.setAntiAlias(make_bool());
496 paint.setDither(make_bool()); 496 paint.setDither(make_bool());
497 paint.setLinearText(make_bool()); 497 paint.setLinearText(make_bool());
498 paint.setSubpixelText(make_bool()); 498 paint.setSubpixelText(make_bool());
499 paint.setLCDRenderText(make_bool()); 499 paint.setLCDRenderText(make_bool());
500 paint.setEmbeddedBitmapText(make_bool()); 500 paint.setEmbeddedBitmapText(make_bool());
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 paint.setImageFilter(make_image_filter()); 533 paint.setImageFilter(make_image_filter());
534 sk_sp<SkData> data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool() )); 534 sk_sp<SkData> data(make_3Dlut(nullptr, make_bool(), make_bool(), make_bool() ));
535 paint.setTextAlign(make_paint_align()); 535 paint.setTextAlign(make_paint_align());
536 paint.setTextSize(make_scalar()); 536 paint.setTextSize(make_scalar());
537 paint.setTextScaleX(make_scalar()); 537 paint.setTextScaleX(make_scalar());
538 paint.setTextSkewX(make_scalar()); 538 paint.setTextSkewX(make_scalar());
539 paint.setTextEncoding(make_paint_text_encoding()); 539 paint.setTextEncoding(make_paint_text_encoding());
540 return paint; 540 return paint;
541 } 541 }
542 542
543 static SkImageFilter* make_image_filter(bool canBeNull) { 543 static sk_sp<SkImageFilter> make_image_filter(bool canBeNull) {
544 SkImageFilter* filter = 0; 544 sk_sp<SkImageFilter> filter;
545 545
546 // Add a 1 in 3 chance to get a nullptr input 546 // Add a 1 in 3 chance to get a nullptr input
547 if (canBeNull && (R(3) == 1)) { return filter; } 547 if (canBeNull && (R(3) == 1)) {
548 return filter;
549 }
548 550
549 enum { ALPHA_THRESHOLD, MERGE, COLOR, LUT3D, BLUR, MAGNIFIER, 551 enum { ALPHA_THRESHOLD, MERGE, COLOR, LUT3D, BLUR, MAGNIFIER,
550 DOWN_SAMPLE, XFERMODE, OFFSET, MATRIX, MATRIX_CONVOLUTION, COMPOSE, 552 DOWN_SAMPLE, XFERMODE, OFFSET, MATRIX, MATRIX_CONVOLUTION, COMPOSE,
551 DISTANT_LIGHT, POINT_LIGHT, SPOT_LIGHT, NOISE, DROP_SHADOW, 553 DISTANT_LIGHT, POINT_LIGHT, SPOT_LIGHT, NOISE, DROP_SHADOW,
552 MORPHOLOGY, BITMAP, DISPLACE, TILE, PICTURE, PAINT, NUM_FILTERS }; 554 MORPHOLOGY, BITMAP, DISPLACE, TILE, PICTURE, PAINT, NUM_FILTERS };
553 555
554 switch (R(NUM_FILTERS)) { 556 switch (R(NUM_FILTERS)) {
555 case ALPHA_THRESHOLD: 557 case ALPHA_THRESHOLD:
556 filter = SkAlphaThresholdFilter::Create(make_region(), make_scalar(), ma ke_scalar()); 558 filter = sk_sp<SkImageFilter>(SkAlphaThresholdFilter::Create(make_region (),
559 make_scalar (),
560 make_scalar ()));
557 break; 561 break;
558 case MERGE: 562 case MERGE: {
559 filter = SkMergeImageFilter::Create(make_image_filter(), make_image_filt er(), make_xfermode()); 563 sk_sp<SkImageFilter> subFilter1(make_image_filter());
564 sk_sp<SkImageFilter> subFilter2(make_image_filter());
565 filter = sk_sp<SkImageFilter>(SkMergeImageFilter::Create(subFilter1.get( ),
566 subFilter2.get( ),
567 make_xfermode() ));
560 break; 568 break;
561 case COLOR: 569 }
562 { 570 case COLOR: {
563 sk_sp<SkColorFilter> cf(make_color_filter()); 571 sk_sp<SkColorFilter> cf(make_color_filter());
564 filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filt er()) : 0; 572 sk_sp<SkImageFilter> subFilter(make_image_filter());
573 filter = cf ? sk_sp<SkImageFilter>(SkColorFilterImageFilter::Create(cf.g et(),
574 subF ilter.get()))
575 : nullptr;
576 break;
565 } 577 }
566 break; 578 case LUT3D: {
567 case LUT3D:
568 {
569 int cubeDimension; 579 int cubeDimension;
570 sk_sp<SkData> lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1))); 580 sk_sp<SkData> lut3D(make_3Dlut(&cubeDimension, (R(2) == 1), (R(2) == 1), (R(2) == 1)));
571 sk_sp<SkColorFilter> cf(SkColorCubeFilter::Make(lut3D, cubeDimension)); 581 sk_sp<SkColorFilter> cf(SkColorCubeFilter::Make(lut3D, cubeDimension));
572 filter = cf ? SkColorFilterImageFilter::Create(cf.get(), make_image_filt er()) : 0; 582 sk_sp<SkImageFilter> subFilter(make_image_filter());
583 filter = cf ? sk_sp<SkImageFilter>(SkColorFilterImageFilter::Create(cf.g et(),
584 subF ilter.get()))
585 : nullptr;
586 break;
573 } 587 }
588 case BLUR: {
589 sk_sp<SkImageFilter> subFilter(make_image_filter());
590 filter = sk_sp<SkImageFilter>(SkBlurImageFilter::Create(make_scalar(true ),
591 make_scalar(true ),
592 subFilter.get()) );
574 break; 593 break;
575 case BLUR: 594 }
576 filter = SkBlurImageFilter::Create(make_scalar(true), make_scalar(true), make_image_filter());
577 break;
578 case MAGNIFIER: 595 case MAGNIFIER:
579 filter = SkMagnifierImageFilter::Create(make_rect(), make_scalar(true)); 596 filter = sk_sp<SkImageFilter>(SkMagnifierImageFilter::Create(make_rect() ,
597 make_scalar (true)));
580 break; 598 break;
581 case DOWN_SAMPLE: 599 case DOWN_SAMPLE:
582 filter = SkDownSampleImageFilter::Create(make_scalar()); 600 filter = sk_sp<SkImageFilter>(SkDownSampleImageFilter::Create(make_scala r()));
583 break; 601 break;
584 case XFERMODE: 602 case XFERMODE: {
603 sk_sp<SkImageFilter> subFilter1(make_image_filter());
604 sk_sp<SkImageFilter> subFilter2(make_image_filter());
585 filter = SkXfermodeImageFilter::Make(SkXfermode::Make(make_xfermode()), 605 filter = SkXfermodeImageFilter::Make(SkXfermode::Make(make_xfermode()),
586 make_image_filter(), make_image_fil ter(), 606 subFilter1.get(),
587 nullptr).release(); 607 subFilter2.get(),
608 nullptr);
588 break; 609 break;
589 case OFFSET: 610 }
590 filter = SkOffsetImageFilter::Create(make_scalar(), make_scalar(), make_ image_filter()); 611 case OFFSET: {
612 sk_sp<SkImageFilter> subFilter(make_image_filter());
613 filter = sk_sp<SkImageFilter>(SkOffsetImageFilter::Create(make_scalar(), make_scalar(),
614 subFilter.get( )));
591 break; 615 break;
592 case MATRIX: 616 }
593 filter = SkImageFilter::CreateMatrixFilter(make_matrix(), 617 case MATRIX: {
594 (SkFilterQuality)R(4), 618 sk_sp<SkImageFilter> subFilter(make_image_filter());
595 make_image_filter()); 619 filter = sk_sp<SkImageFilter>(SkImageFilter::CreateMatrixFilter(make_mat rix(),
620 (SkFilte rQuality)R(4),
621 subFilte r.get()));
596 break; 622 break;
597 case MATRIX_CONVOLUTION: 623 }
598 { 624 case MATRIX_CONVOLUTION: {
599 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), 625 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize),
600 SkIntToScalar(kBitmapSize)) ); 626 SkIntToScalar(kBitmapSize)) );
601 SkISize size = SkISize::Make(R(10)+1, R(10)+1); 627 SkISize size = SkISize::Make(R(10)+1, R(10)+1);
602 int arraySize = size.width() * size.height(); 628 int arraySize = size.width() * size.height();
603 SkTArray<SkScalar> kernel(arraySize); 629 SkTArray<SkScalar> kernel(arraySize);
604 for (int i = 0; i < arraySize; ++i) { 630 for (int i = 0; i < arraySize; ++i) {
605 kernel.push_back() = make_scalar(); 631 kernel.push_back() = make_scalar();
606 } 632 }
607 SkIPoint kernelOffset = SkIPoint::Make(R(SkIntToScalar(size.width())), 633 SkIPoint kernelOffset = SkIPoint::Make(R(SkIntToScalar(size.width())),
608 R(SkIntToScalar(size.height()))); 634 R(SkIntToScalar(size.height())));
609 filter = SkMatrixConvolutionImageFilter::Create(size, 635 sk_sp<SkImageFilter> subFilter(make_image_filter());
636
637 filter = sk_sp<SkImageFilter>(SkMatrixConvolutionImageFilter::Create(
638 size,
610 kernel.begin(), 639 kernel.begin(),
611 make_scalar(), 640 make_scalar(),
612 make_scalar(), 641 make_scalar(),
613 kernelOffset, 642 kernelOffset,
614 (SkMatrixConvolutionImag eFilter::TileMode)R(3), 643 (SkMatrixConvolutionImag eFilter::TileMode)R(3),
615 R(2) == 1, 644 R(2) == 1,
616 make_image_filter(), 645 subFilter.get(),
617 &cropR); 646 &cropR));
647 break;
618 } 648 }
649 case COMPOSE: {
650 sk_sp<SkImageFilter> subFilter1(make_image_filter());
651 sk_sp<SkImageFilter> subFilter2(make_image_filter());
652 filter = sk_sp<SkImageFilter>(SkComposeImageFilter::Create(subFilter1.ge t(),
653 subFilter2.ge t()));
619 break; 654 break;
620 case COMPOSE: 655 }
621 filter = SkComposeImageFilter::Create(make_image_filter(), make_image_fi lter()); 656 case DISTANT_LIGHT: {
657 sk_sp<SkImageFilter> subFilter(make_image_filter());
658
659 filter = (R(2) == 1)
660 ? sk_sp<SkImageFilter>(SkLightingImageFilter::CreateDistantLitD iffuse(make_point(),
661 make_color(), make_scalar(), mak e_scalar(),
662 subFilter.get()))
663 : sk_sp<SkImageFilter>(SkLightingImageFilter::CreateDistantLitS pecular(make_point(),
664 make_color(), make_scalar(),
665 make_scalar(), SkIntToScalar(R(1 0)),
666 subFilter.get()));
622 break; 667 break;
623 case DISTANT_LIGHT: 668 }
624 filter = (R(2) == 1) ? 669 case POINT_LIGHT: {
625 SkLightingImageFilter::CreateDistantLitDiffuse(make_point(), 670 sk_sp<SkImageFilter> subFilter(make_image_filter());
626 make_color(), make_scalar(), make_scalar(), make_image_filter() ) : 671
627 SkLightingImageFilter::CreateDistantLitSpecular(make_point(), 672 filter = (R(2) == 1)
628 make_color(), make_scalar(), make_scalar(), SkIntToScalar(R(10) ), 673 ? sk_sp<SkImageFilter>(SkLightingImageFilter::CreatePointLitDif fuse(make_point(),
629 make_image_filter()); 674 make_color(), make_scalar(), mak e_scalar(),
675 subFilter.get()))
676 : sk_sp<SkImageFilter>(SkLightingImageFilter::CreatePointLitSpe cular(make_point(),
677 make_color(), make_scalar(), mak e_scalar(),
678 SkIntToScalar(R(10)),
679 subFilter.get()));
630 break; 680 break;
631 case POINT_LIGHT: 681 }
632 filter = (R(2) == 1) ? 682 case SPOT_LIGHT: {
633 SkLightingImageFilter::CreatePointLitDiffuse(make_point(), 683 sk_sp<SkImageFilter> subFilter(make_image_filter());
634 make_color(), make_scalar(), make_scalar(), make_image_filter() ) : 684
635 SkLightingImageFilter::CreatePointLitSpecular(make_point(), 685 filter = (R(2) == 1)
636 make_color(), make_scalar(), make_scalar(), SkIntToScalar(R(10) ), 686 ? sk_sp<SkImageFilter>(SkLightingImageFilter::CreateSpotLitDiff use(SkPoint3::Make(0, 0, 0),
637 make_image_filter()); 687 make_point(), make_scalar(), ma ke_scalar(),
688 make_color(), make_scalar(), ma ke_scalar(),
689 subFilter.get()))
690 : sk_sp<SkImageFilter>(SkLightingImageFilter::CreateSpotLitSpec ular(SkPoint3::Make(0, 0, 0),
691 make_point(), make_scalar(), ma ke_scalar(),
692 make_color(), make_scalar(), ma ke_scalar(),
693 SkIntToScalar(R(10)), subFilter .get()));
638 break; 694 break;
639 case SPOT_LIGHT: 695 }
640 filter = (R(2) == 1) ? 696 case NOISE: {
641 SkLightingImageFilter::CreateSpotLitDiffuse(SkPoint3::Make(0, 0 , 0),
642 make_point(), make_scalar(), make_scalar(), make_color(),
643 make_scalar(), make_scalar(), make_image_filter()) :
644 SkLightingImageFilter::CreateSpotLitSpecular(SkPoint3::Make(0, 0, 0),
645 make_point(), make_scalar(), make_scalar(), make_color(),
646 make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_ filter());
647 break;
648 case NOISE:
649 {
650 sk_sp<SkShader> shader((R(2) == 1) ? 697 sk_sp<SkShader> shader((R(2) == 1) ?
651 SkPerlinNoiseShader::MakeFractalNoise( 698 SkPerlinNoiseShader::MakeFractalNoise(
652 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) : 699 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) :
653 SkPerlinNoiseShader::MakeTurbulence( 700 SkPerlinNoiseShader::MakeTurbulence(
654 make_scalar(true), make_scalar(true), R(10.0f), make_scalar())); 701 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()));
655 SkPaint paint; 702 SkPaint paint;
656 paint.setShader(shader); 703 paint.setShader(shader);
657 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), 704 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize),
658 SkIntToScalar(kBitmapSize)) ); 705 SkIntToScalar(kBitmapSize)) );
659 filter = SkPaintImageFilter::Create(paint, &cropR); 706 filter = SkPaintImageFilter::Make(paint, &cropR);
707 break;
660 } 708 }
709 case DROP_SHADOW: {
710 sk_sp<SkImageFilter> subFilter(make_image_filter());
711
712 filter = sk_sp<SkImageFilter>(SkDropShadowImageFilter::Create(make_scala r(),
713 make_scala r(),
714 make_scala r(true),
715 make_scala r(true),
716 make_color (),
717 make_shado w_mode(),
718 subFilter. get(),
719 nullptr));
661 break; 720 break;
662 case DROP_SHADOW: 721 }
663 filter = SkDropShadowImageFilter::Create(make_scalar(), make_scalar(), m ake_scalar(true), 722 case MORPHOLOGY: {
664 make_scalar(true), make_color(), make_shadow_mode(), make_im age_filter(), 723 sk_sp<SkImageFilter> subFilter(make_image_filter());
665 nullptr); 724
666 break;
667 case MORPHOLOGY:
668 if (R(2) == 1) { 725 if (R(2) == 1) {
669 filter = SkDilateImageFilter::Create(R(static_cast<float>(kBitmapSiz e)), 726 filter = sk_sp<SkImageFilter>(SkDilateImageFilter::Create(R(static_c ast<float>(kBitmapSize)),
670 R(static_cast<float>(kBitmapSize)), make_image_filter()); 727 R(static_cast<float>(kBitmapSize )),
728 subFilter.get()));
671 } else { 729 } else {
672 filter = SkErodeImageFilter::Create(R(static_cast<float>(kBitmapSize )), 730 filter = sk_sp<SkImageFilter>(SkErodeImageFilter::Create(R(static_ca st<float>(kBitmapSize)),
673 R(static_cast<float>(kBitmapSize)), make_image_filter()); 731 R(static_cast<float>(kBitmapSize )),
732 subFilter.get()));
674 } 733 }
675 break; 734 break;
676 case BITMAP: 735 }
677 { 736 case BITMAP: {
678 sk_sp<SkImage> image(SkImage::MakeFromBitmap(make_bitmap())); 737 sk_sp<SkImage> image(SkImage::MakeFromBitmap(make_bitmap()));
679 if (R(2) == 1) { 738 if (R(2) == 1) {
680 filter = SkImageSource::Create(image.get(), make_rect(), make_rect() , kHigh_SkFilterQuality); 739 filter = sk_sp<SkImageFilter>(SkImageSource::Create(image.get(),
740 make_rect(),
741 make_rect(),
742 kHigh_SkFilterQu ality));
681 } else { 743 } else {
682 filter = SkImageSource::Create(image.get()); 744 filter = sk_sp<SkImageFilter>(SkImageSource::Create(image.get()));
683 } 745 }
746 break;
684 } 747 }
748 case DISPLACE: {
749 sk_sp<SkImageFilter> subFilter1(make_image_filter(false));
750 sk_sp<SkImageFilter> subFilter2(make_image_filter());
751
752 filter = sk_sp<SkImageFilter>(SkDisplacementMapEffect::Create(make_chann el_selector_type(),
753 make_chann el_selector_type(),
754 make_scala r(),
755 subFilter1 .get(),
756 subFilter2 .get()));
685 break; 757 break;
686 case DISPLACE: 758 }
687 filter = SkDisplacementMapEffect::Create(make_channel_selector_type(), 759 case TILE: {
688 make_channel_selector_type(), m ake_scalar(), 760 sk_sp<SkImageFilter> subFilter(make_image_filter(false));
689 make_image_filter(false), make_ image_filter()); 761
762 filter = sk_sp<SkImageFilter>(SkTileImageFilter::Create(make_rect(),
763 make_rect(),
764 subFilter.get()) );
690 break; 765 break;
691 case TILE: 766 }
692 filter = SkTileImageFilter::Create(make_rect(), make_rect(), make_image_ filter(false)); 767 case PICTURE: {
693 break;
694 case PICTURE:
695 {
696 SkRTreeFactory factory; 768 SkRTreeFactory factory;
697 SkPictureRecorder recorder; 769 SkPictureRecorder recorder;
698 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(kBitma pSize), 770 SkCanvas* recordingCanvas = recorder.beginRecording(SkIntToScalar(kBitma pSize),
699 SkIntToScalar(kBitma pSize), 771 SkIntToScalar(kBitma pSize),
700 &factory, 0); 772 &factory, 0);
701 drawSomething(recordingCanvas); 773 drawSomething(recordingCanvas);
702 sk_sp<SkPicture> pict(recorder.finishRecordingAsPicture()); 774 sk_sp<SkPicture> pict(recorder.finishRecordingAsPicture());
703 filter = SkPictureImageFilter::Make(pict, make_rect()).release(); 775 filter = SkPictureImageFilter::Make(pict, make_rect());
776 break;
704 } 777 }
778 case PAINT: {
779 SkImageFilter::CropRect cropR(make_rect());
780 filter = SkPaintImageFilter::Make(make_paint(), &cropR);
705 break; 781 break;
706 case PAINT:
707 {
708 SkImageFilter::CropRect cropR(make_rect());
709 filter = SkPaintImageFilter::Create(make_paint(), &cropR);
710 } 782 }
711 default: 783 default:
712 break; 784 break;
713 } 785 }
714 return (filter || canBeNull) ? filter : make_image_filter(canBeNull); 786 return (filter || canBeNull) ? filter : make_image_filter(canBeNull);
715 } 787 }
716 788
717 static SkImageFilter* make_serialized_image_filter() { 789 static SkImageFilter* make_serialized_image_filter() {
718 SkAutoTUnref<SkImageFilter> filter(make_image_filter(false)); 790 sk_sp<SkImageFilter> filter(make_image_filter(false));
719 SkAutoTUnref<SkData> data(SkValidatingSerializeFlattenable(filter)); 791 SkAutoTUnref<SkData> data(SkValidatingSerializeFlattenable(filter.get()));
720 const unsigned char* ptr = static_cast<const unsigned char*>(data->data()); 792 const unsigned char* ptr = static_cast<const unsigned char*>(data->data());
721 size_t len = data->size(); 793 size_t len = data->size();
722 #ifdef SK_ADD_RANDOM_BIT_FLIPS 794 #ifdef SK_ADD_RANDOM_BIT_FLIPS
723 unsigned char* p = const_cast<unsigned char*>(ptr); 795 unsigned char* p = const_cast<unsigned char*>(ptr);
724 for (size_t i = 0; i < len; ++i, ++p) { 796 for (size_t i = 0; i < len; ++i, ++p) {
725 if (R(250) == 1) { // 0.4% of the time, flip a bit or byte 797 if (R(250) == 1) { // 0.4% of the time, flip a bit or byte
726 if (R(10) == 1) { // Then 10% of the time, change a whole byte 798 if (R(10) == 1) { // Then 10% of the time, change a whole byte
727 switch(R(3)) { 799 switch(R(3)) {
728 case 0: 800 case 0:
729 *p ^= 0xFF; // Flip entire byte 801 *p ^= 0xFF; // Flip entire byte
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 } 876 }
805 877
806 private: 878 private:
807 typedef SkView INHERITED; 879 typedef SkView INHERITED;
808 }; 880 };
809 881
810 ////////////////////////////////////////////////////////////////////////////// 882 //////////////////////////////////////////////////////////////////////////////
811 883
812 static SkView* MyFactory() { return new ImageFilterFuzzView; } 884 static SkView* MyFactory() { return new ImageFilterFuzzView; }
813 static SkViewRegister reg(MyFactory); 885 static SkViewRegister reg(MyFactory);
OLDNEW
« no previous file with comments | « include/effects/SkPaintImageFilter.h ('k') | src/core/SkCanvas.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698