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

Side by Side Diff: samplecode/SampleFilterFuzz.cpp

Issue 1869833002: Update MatrixConvolutionImageFilter to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update to ToT 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
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 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 enum { ALPHA_THRESHOLD, MERGE, COLOR, LUT3D, BLUR, MAGNIFIER, 548 enum { ALPHA_THRESHOLD, MERGE, COLOR, LUT3D, BLUR, MAGNIFIER,
549 DOWN_SAMPLE, XFERMODE, OFFSET, MATRIX, MATRIX_CONVOLUTION, COMPOSE, 549 DOWN_SAMPLE, XFERMODE, OFFSET, MATRIX, MATRIX_CONVOLUTION, COMPOSE,
550 DISTANT_LIGHT, POINT_LIGHT, SPOT_LIGHT, NOISE, DROP_SHADOW, 550 DISTANT_LIGHT, POINT_LIGHT, SPOT_LIGHT, NOISE, DROP_SHADOW,
551 MORPHOLOGY, BITMAP, DISPLACE, TILE, PICTURE, PAINT, NUM_FILTERS }; 551 MORPHOLOGY, BITMAP, DISPLACE, TILE, PICTURE, PAINT, NUM_FILTERS };
552 552
553 switch (R(NUM_FILTERS)) { 553 switch (R(NUM_FILTERS)) {
554 case ALPHA_THRESHOLD: 554 case ALPHA_THRESHOLD:
555 filter = SkAlphaThresholdFilter::Make(make_region(), 555 filter = SkAlphaThresholdFilter::Make(make_region(),
556 make_scalar(), 556 make_scalar(),
557 make_scalar(), 557 make_scalar(),
558 nullptr); 558 make_image_filter());
559 break; 559 break;
560 case MERGE: 560 case MERGE:
561 filter = SkMergeImageFilter::Make(make_image_filter(), 561 filter = SkMergeImageFilter::Make(make_image_filter(),
562 make_image_filter(), 562 make_image_filter(),
563 make_xfermode()); 563 make_xfermode());
564 break; 564 break;
565 case COLOR: { 565 case COLOR: {
566 sk_sp<SkColorFilter> cf(make_color_filter()); 566 sk_sp<SkColorFilter> cf(make_color_filter());
567 filter = cf ? SkColorFilterImageFilter::Make(std::move(cf), make_image_f ilter()) 567 filter = cf ? SkColorFilterImageFilter::Make(std::move(cf), make_image_f ilter())
568 : nullptr; 568 : nullptr;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), 607 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize),
608 SkIntToScalar(kBitmapSize)) ); 608 SkIntToScalar(kBitmapSize)) );
609 SkISize size = SkISize::Make(R(10)+1, R(10)+1); 609 SkISize size = SkISize::Make(R(10)+1, R(10)+1);
610 int arraySize = size.width() * size.height(); 610 int arraySize = size.width() * size.height();
611 SkTArray<SkScalar> kernel(arraySize); 611 SkTArray<SkScalar> kernel(arraySize);
612 for (int i = 0; i < arraySize; ++i) { 612 for (int i = 0; i < arraySize; ++i) {
613 kernel.push_back() = make_scalar(); 613 kernel.push_back() = make_scalar();
614 } 614 }
615 SkIPoint kernelOffset = SkIPoint::Make(R(SkIntToScalar(size.width())), 615 SkIPoint kernelOffset = SkIPoint::Make(R(SkIntToScalar(size.width())),
616 R(SkIntToScalar(size.height()))); 616 R(SkIntToScalar(size.height())));
617 sk_sp<SkImageFilter> subFilter(make_image_filter());
618 617
619 filter = sk_sp<SkImageFilter>(SkMatrixConvolutionImageFilter::Create( 618 filter = SkMatrixConvolutionImageFilter::Make(size,
620 size, 619 kernel.begin(),
621 kernel.begin(), 620 make_scalar(),
622 make_scalar(), 621 make_scalar(),
623 make_scalar(), 622 kernelOffset,
624 kernelOffset, 623 (SkMatrixConvolutionImageF ilter::TileMode)R(3),
625 (SkMatrixConvolutionImag eFilter::TileMode)R(3), 624 R(2) == 1,
626 R(2) == 1, 625 make_image_filter(),
627 subFilter.get(), 626 &cropR);
628 &cropR));
629 break; 627 break;
630 } 628 }
631 case COMPOSE: 629 case COMPOSE:
632 filter = SkComposeImageFilter::Make(make_image_filter(), make_image_filt er()); 630 filter = SkComposeImageFilter::Make(make_image_filter(), make_image_filt er());
633 break; 631 break;
634 case DISTANT_LIGHT: { 632 case DISTANT_LIGHT: {
635 sk_sp<SkImageFilter> subFilter(make_image_filter()); 633 sk_sp<SkImageFilter> subFilter(make_image_filter());
636 634
637 filter = (R(2) == 1) 635 filter = (R(2) == 1)
638 ? sk_sp<SkImageFilter>(SkLightingImageFilter::CreateDistantLitD iffuse(make_point(), 636 ? sk_sp<SkImageFilter>(SkLightingImageFilter::CreateDistantLitD iffuse(make_point(),
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 } 846 }
849 847
850 private: 848 private:
851 typedef SkView INHERITED; 849 typedef SkView INHERITED;
852 }; 850 };
853 851
854 ////////////////////////////////////////////////////////////////////////////// 852 //////////////////////////////////////////////////////////////////////////////
855 853
856 static SkView* MyFactory() { return new ImageFilterFuzzView; } 854 static SkView* MyFactory() { return new ImageFilterFuzzView; }
857 static SkViewRegister reg(MyFactory); 855 static SkViewRegister reg(MyFactory);
OLDNEW
« no previous file with comments | « include/effects/SkMatrixConvolutionImageFilter.h ('k') | src/effects/SkMatrixConvolutionImageFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698