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

Side by Side Diff: gm/imagefiltersbase.cpp

Issue 1854023003: Update internal testing ImageFilters to sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 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 | « no previous file | gm/imagefiltersgraph.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 7
8 #include "gm.h" 8 #include "gm.h"
9 #include "SkCanvas.h" 9 #include "SkCanvas.h"
10 #include "SkColorFilter.h" 10 #include "SkColorFilter.h"
11 #include "SkColorPriv.h" 11 #include "SkColorPriv.h"
12 #include "SkShader.h" 12 #include "SkShader.h"
13 13
14 #include "SkBlurImageFilter.h" 14 #include "SkBlurImageFilter.h"
15 #include "SkColorFilterImageFilter.h" 15 #include "SkColorFilterImageFilter.h"
16 #include "SkDropShadowImageFilter.h" 16 #include "SkDropShadowImageFilter.h"
17 #include "SkTestImageFilters.h" 17 #include "SkTestImageFilters.h"
18 18
19 class FailImageFilter : public SkImageFilter { 19 class FailImageFilter : public SkImageFilter {
20 public: 20 public:
21 class Registrar { 21 class Registrar {
22 public: 22 public:
23 Registrar() { 23 Registrar() {
24 SkFlattenable::Register("FailImageFilter", 24 SkFlattenable::Register("FailImageFilter",
25 FailImageFilter::CreateProc, 25 FailImageFilter::CreateProc,
26 FailImageFilter::GetFlattenableType()); 26 FailImageFilter::GetFlattenableType());
27 } 27 }
28 }; 28 };
29 static FailImageFilter* Create() { return new FailImageFilter; } 29 static sk_sp<SkImageFilter> Make() {
30 return sk_sp<SkImageFilter>(new FailImageFilter);
31 }
30 32
31 SK_TO_STRING_OVERRIDE() 33 SK_TO_STRING_OVERRIDE()
32 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter) 34 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter)
33 35
34 protected: 36 protected:
35 FailImageFilter() : INHERITED(0, nullptr) {} 37 FailImageFilter() : INHERITED(nullptr, 0, nullptr) {}
36 38
37 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&, 39 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&,
38 SkBitmap* result, SkIPoint* offset) const overr ide { 40 SkBitmap* result, SkIPoint* offset) const overr ide {
39 return false; 41 return false;
40 } 42 }
41 43
42 private: 44 private:
43 typedef SkImageFilter INHERITED; 45 typedef SkImageFilter INHERITED;
44 }; 46 };
45 47
46 static FailImageFilter::Registrar gReg0; 48 static FailImageFilter::Registrar gReg0;
47 49
48 sk_sp<SkFlattenable> FailImageFilter::CreateProc(SkReadBuffer& buffer) { 50 sk_sp<SkFlattenable> FailImageFilter::CreateProc(SkReadBuffer& buffer) {
49 SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0); 51 SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0);
50 return sk_sp<SkFlattenable>(FailImageFilter::Create()); 52 return FailImageFilter::Make();
51 } 53 }
52 54
53 #ifndef SK_IGNORE_TO_STRING 55 #ifndef SK_IGNORE_TO_STRING
54 void FailImageFilter::toString(SkString* str) const { 56 void FailImageFilter::toString(SkString* str) const {
55 str->appendf("FailImageFilter: ("); 57 str->appendf("FailImageFilter: (");
56 str->append(")"); 58 str->append(")");
57 } 59 }
58 #endif 60 #endif
59 61
60 class IdentityImageFilter : public SkImageFilter { 62 class IdentityImageFilter : public SkImageFilter {
61 public: 63 public:
62 class Registrar { 64 class Registrar {
63 public: 65 public:
64 Registrar() { 66 Registrar() {
65 SkFlattenable::Register("IdentityImageFilter", 67 SkFlattenable::Register("IdentityImageFilter",
66 IdentityImageFilter::CreateProc, 68 IdentityImageFilter::CreateProc,
67 IdentityImageFilter::GetFlattenableType()); 69 IdentityImageFilter::GetFlattenableType());
68 } 70 }
69 }; 71 };
70 static IdentityImageFilter* Create(SkImageFilter* input = nullptr) { 72 static sk_sp<SkImageFilter> Make(sk_sp<SkImageFilter> input) {
71 return new IdentityImageFilter(input); 73 return sk_sp<SkImageFilter>(new IdentityImageFilter(std::move(input)));
72 } 74 }
73 75
74 SK_TO_STRING_OVERRIDE() 76 SK_TO_STRING_OVERRIDE()
75 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter) 77 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter)
78
76 protected: 79 protected:
77 IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {}
78
79 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&, 80 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&,
80 SkBitmap* result, SkIPoint* offset) const overr ide { 81 SkBitmap* result, SkIPoint* offset) const overr ide {
81 *result = src; 82 *result = src;
82 offset->set(0, 0); 83 offset->set(0, 0);
83 return true; 84 return true;
84 } 85 }
85 86
86 private: 87 private:
88 IdentityImageFilter(sk_sp<SkImageFilter> input) : INHERITED(&input, 1, nullp tr) {}
89
87 typedef SkImageFilter INHERITED; 90 typedef SkImageFilter INHERITED;
88 }; 91 };
89 92
90 static IdentityImageFilter::Registrar gReg1; 93 static IdentityImageFilter::Registrar gReg1;
91 94
92 sk_sp<SkFlattenable> IdentityImageFilter::CreateProc(SkReadBuffer& buffer) { 95 sk_sp<SkFlattenable> IdentityImageFilter::CreateProc(SkReadBuffer& buffer) {
93 SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1); 96 SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
94 return sk_sp<SkFlattenable>(IdentityImageFilter::Create(common.getInput(0).g et())); 97 return IdentityImageFilter::Make(common.getInput(0));
95 } 98 }
96 99
97 #ifndef SK_IGNORE_TO_STRING 100 #ifndef SK_IGNORE_TO_STRING
98 void IdentityImageFilter::toString(SkString* str) const { 101 void IdentityImageFilter::toString(SkString* str) const {
99 str->appendf("IdentityImageFilter: ("); 102 str->appendf("IdentityImageFilter: (");
100 str->append(")"); 103 str->append(")");
101 } 104 }
102 #endif 105 #endif
103 106
104 /////////////////////////////////////////////////////////////////////////////// 107 ///////////////////////////////////////////////////////////////////////////////
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 189 }
187 190
188 void onDraw(SkCanvas* canvas) override { 191 void onDraw(SkCanvas* canvas) override {
189 void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = { 192 void (*drawProc[])(SkCanvas*, const SkRect&, SkImageFilter*) = {
190 draw_paint, 193 draw_paint,
191 draw_line, draw_rect, draw_path, draw_text, 194 draw_line, draw_rect, draw_path, draw_text,
192 draw_bitmap, 195 draw_bitmap,
193 }; 196 };
194 197
195 auto cf = SkColorFilter::MakeModeFilter(SK_ColorRED, SkXfermode::kSrcIn_ Mode); 198 auto cf = SkColorFilter::MakeModeFilter(SK_ColorRED, SkXfermode::kSrcIn_ Mode);
196 SkImageFilter* filters[] = { 199 SkImageFilter* filters[] = {
reed1 2016/04/03 21:29:24 at some point we should convert this over to an ar
robertphillips 2016/04/04 11:46:22 Acknowledged.
197 nullptr, 200 nullptr,
198 IdentityImageFilter::Create(), 201 IdentityImageFilter::Make(nullptr).release(),
199 FailImageFilter::Create(), 202 FailImageFilter::Make().release(),
200 SkColorFilterImageFilter::Create(cf.get()), 203 SkColorFilterImageFilter::Create(cf.get()),
201 SkBlurImageFilter::Create(12.0f, 0.0f), 204 SkBlurImageFilter::Create(12.0f, 0.0f),
202 SkDropShadowImageFilter::Create(10.0f, 5.0f, 3.0f, 3.0f, SK_ColorBLU E, 205 SkDropShadowImageFilter::Create(10.0f, 5.0f, 3.0f, 3.0f, SK_ColorBLU E,
203 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode), 206 SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode),
204 }; 207 };
205 208
206 SkRect r = SkRect::MakeWH(SkIntToScalar(64), SkIntToScalar(64)); 209 SkRect r = SkRect::MakeWH(SkIntToScalar(64), SkIntToScalar(64));
207 SkScalar MARGIN = SkIntToScalar(16); 210 SkScalar MARGIN = SkIntToScalar(16);
208 SkScalar DX = r.width() + MARGIN; 211 SkScalar DX = r.width() + MARGIN;
209 SkScalar DY = r.height() + MARGIN; 212 SkScalar DY = r.height() + MARGIN;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 318
316 class ImageFiltersText_CF : public ImageFiltersTextBaseGM { 319 class ImageFiltersText_CF : public ImageFiltersTextBaseGM {
317 public: 320 public:
318 ImageFiltersText_CF() : ImageFiltersTextBaseGM("color") {} 321 ImageFiltersText_CF() : ImageFiltersTextBaseGM("color") {}
319 322
320 void installFilter(SkPaint* paint) override { 323 void installFilter(SkPaint* paint) override {
321 paint->setColorFilter(SkColorFilter::MakeModeFilter(SK_ColorBLUE, SkXfer mode::kSrcIn_Mode)); 324 paint->setColorFilter(SkColorFilter::MakeModeFilter(SK_ColorBLUE, SkXfer mode::kSrcIn_Mode));
322 } 325 }
323 }; 326 };
324 DEF_GM( return new ImageFiltersText_CF; ) 327 DEF_GM( return new ImageFiltersText_CF; )
OLDNEW
« no previous file with comments | « no previous file | gm/imagefiltersgraph.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698