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

Side by Side Diff: samplecode/SampleFilterFuzz.cpp

Issue 1556553002: Implement an SkPaint-based image filter (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 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/effects/SkPaintImageFilter.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 "SkAlphaThresholdFilter.h" 8 #include "SkAlphaThresholdFilter.h"
9 #include "SkBlurImageFilter.h" 9 #include "SkBlurImageFilter.h"
10 #include "SkCanvas.h" 10 #include "SkCanvas.h"
11 #include "SkColorCubeFilter.h" 11 #include "SkColorCubeFilter.h"
12 #include "SkColorFilter.h" 12 #include "SkColorFilter.h"
13 #include "SkColorFilterImageFilter.h" 13 #include "SkColorFilterImageFilter.h"
14 #include "SkComposeImageFilter.h" 14 #include "SkComposeImageFilter.h"
15 #include "SkData.h" 15 #include "SkData.h"
16 #include "SkDisplacementMapEffect.h" 16 #include "SkDisplacementMapEffect.h"
17 #include "SkDropShadowImageFilter.h" 17 #include "SkDropShadowImageFilter.h"
18 #include "SkFlattenableSerialization.h" 18 #include "SkFlattenableSerialization.h"
19 #include "SkImageSource.h" 19 #include "SkImageSource.h"
20 #include "SkLightingImageFilter.h" 20 #include "SkLightingImageFilter.h"
21 #include "SkMagnifierImageFilter.h" 21 #include "SkMagnifierImageFilter.h"
22 #include "SkMatrixConvolutionImageFilter.h" 22 #include "SkMatrixConvolutionImageFilter.h"
23 #include "SkMergeImageFilter.h" 23 #include "SkMergeImageFilter.h"
24 #include "SkMorphologyImageFilter.h" 24 #include "SkMorphologyImageFilter.h"
25 #include "SkOffsetImageFilter.h" 25 #include "SkOffsetImageFilter.h"
26 #include "SkPaintImageFilter.h"
26 #include "SkPerlinNoiseShader.h" 27 #include "SkPerlinNoiseShader.h"
27 #include "SkPictureImageFilter.h" 28 #include "SkPictureImageFilter.h"
28 #include "SkPictureRecorder.h" 29 #include "SkPictureRecorder.h"
29 #include "SkPoint3.h" 30 #include "SkPoint3.h"
30 #include "SkRandom.h" 31 #include "SkRandom.h"
31 #include "SkRectShaderImageFilter.h"
32 #include "SkTestImageFilters.h" 32 #include "SkTestImageFilters.h"
33 #include "SkTileImageFilter.h" 33 #include "SkTileImageFilter.h"
34 #include "SkView.h" 34 #include "SkView.h"
35 #include "SkXfermodeImageFilter.h" 35 #include "SkXfermodeImageFilter.h"
36 #include <stdio.h> 36 #include <stdio.h>
37 #include <time.h> 37 #include <time.h>
38 38
39 //#define SK_ADD_RANDOM_BIT_FLIPS 39 //#define SK_ADD_RANDOM_BIT_FLIPS
40 //#define SK_FUZZER_IS_VERBOSE 40 //#define SK_FUZZER_IS_VERBOSE
41 41
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 make_point(), make_scalar(), make_scalar(), make_color(), 365 make_point(), make_scalar(), make_scalar(), make_color(),
366 make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_ filter()); 366 make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_ filter());
367 break; 367 break;
368 case NOISE: 368 case NOISE:
369 { 369 {
370 SkAutoTUnref<SkShader> shader((R(2) == 1) ? 370 SkAutoTUnref<SkShader> shader((R(2) == 1) ?
371 SkPerlinNoiseShader::CreateFractalNoise( 371 SkPerlinNoiseShader::CreateFractalNoise(
372 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) : 372 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) :
373 SkPerlinNoiseShader::CreateTurbulence( 373 SkPerlinNoiseShader::CreateTurbulence(
374 make_scalar(true), make_scalar(true), R(10.0f), make_scalar())); 374 make_scalar(true), make_scalar(true), R(10.0f), make_scalar()));
375 SkPaint paint;
376 paint.setShader(shader);
sugoi1 2016/01/04 16:31:15 You should really try to randomly use all the API
ajuma 2016/01/04 22:39:46 Added a test case below.
375 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), 377 SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize),
376 SkIntToScalar(kBitmapSize)) ); 378 SkIntToScalar(kBitmapSize)) );
377 filter = SkRectShaderImageFilter::Create(shader, &cropR); 379 filter = SkPaintImageFilter::Create(paint, &cropR);
378 } 380 }
379 break; 381 break;
380 case DROP_SHADOW: 382 case DROP_SHADOW:
381 filter = SkDropShadowImageFilter::Create(make_scalar(), make_scalar(), m ake_scalar(true), 383 filter = SkDropShadowImageFilter::Create(make_scalar(), make_scalar(), m ake_scalar(true),
382 make_scalar(true), make_color(), make_shadow_mode(), make_im age_filter(), 384 make_scalar(true), make_color(), make_shadow_mode(), make_im age_filter(),
383 nullptr); 385 nullptr);
384 break; 386 break;
385 case MORPHOLOGY: 387 case MORPHOLOGY:
386 if (R(2) == 1) { 388 if (R(2) == 1) {
387 filter = SkDilateImageFilter::Create(R(static_cast<float>(kBitmapSiz e)), 389 filter = SkDilateImageFilter::Create(R(static_cast<float>(kBitmapSiz e)),
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 } 519 }
518 520
519 private: 521 private:
520 typedef SkView INHERITED; 522 typedef SkView INHERITED;
521 }; 523 };
522 524
523 ////////////////////////////////////////////////////////////////////////////// 525 //////////////////////////////////////////////////////////////////////////////
524 526
525 static SkView* MyFactory() { return new ImageFilterFuzzView; } 527 static SkView* MyFactory() { return new ImageFilterFuzzView; }
526 static SkViewRegister reg(MyFactory); 528 static SkViewRegister reg(MyFactory);
OLDNEW
« no previous file with comments | « include/effects/SkPaintImageFilter.h ('k') | src/effects/SkPaintImageFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698