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

Side by Side Diff: include/effects/SkTestImageFilters.h

Issue 395603002: Simplify flattening to just write enough to call the factory (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: use friend class instead of function to better hide how we initialize Created 6 years, 4 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 #ifndef _SkTestImageFilters_h 1 #ifndef _SkTestImageFilters_h
2 #define _SkTestImageFilters_h 2 #define _SkTestImageFilters_h
3 3
4 #include "SkImageFilter.h" 4 #include "SkImageFilter.h"
5 #include "SkPoint.h" 5 #include "SkPoint.h"
6 6
7 // Fun mode that scales down (only) and then scales back up to look pixelated 7 // Fun mode that scales down (only) and then scales back up to look pixelated
8 class SK_API SkDownSampleImageFilter : public SkImageFilter { 8 class SK_API SkDownSampleImageFilter : public SkImageFilter {
9 public: 9 public:
10 static SkDownSampleImageFilter* Create(SkScalar scale, SkImageFilter* input = NULL) { 10 static SkDownSampleImageFilter* Create(SkScalar scale, SkImageFilter* input = NULL) {
11 if (!SkScalarIsFinite(scale)) {
12 return NULL;
13 }
14 // we don't support scale in this range
15 if (scale > SK_Scalar1 || scale <= 0) {
16 return NULL;
17 }
11 return SkNEW_ARGS(SkDownSampleImageFilter, (scale, input)); 18 return SkNEW_ARGS(SkDownSampleImageFilter, (scale, input));
12 } 19 }
13 20
14 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter) 21 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDownSampleImageFilter)
15 22
16 protected: 23 protected:
17 SkDownSampleImageFilter(SkScalar scale, SkImageFilter* input) 24 SkDownSampleImageFilter(SkScalar scale, SkImageFilter* input)
18 : INHERITED(1, &input), fScale(scale) {} 25 : INHERITED(1, &input), fScale(scale) {}
26 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
19 SkDownSampleImageFilter(SkReadBuffer& buffer); 27 SkDownSampleImageFilter(SkReadBuffer& buffer);
28 #endif
20 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 29 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
21 30
22 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&, 31 virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
23 SkBitmap* result, SkIPoint* loc) const SK_OVERRID E; 32 SkBitmap* result, SkIPoint* loc) const SK_OVERRID E;
24 33
25 private: 34 private:
26 SkScalar fScale; 35 SkScalar fScale;
27 36
28 typedef SkImageFilter INHERITED; 37 typedef SkImageFilter INHERITED;
29 }; 38 };
30 39
31 #endif 40 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698