OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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); |
OLD | NEW |