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

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

Issue 155513012: [WIP] Add Context to SkDrawLooper. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Make methods const. Created 6 years, 10 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 2008 The Android Open Source Project 2 * Copyright 2008 The Android Open Source Project
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 8
9 #ifndef SkBlurDrawLooper_DEFINED 9 #ifndef SkBlurDrawLooper_DEFINED
10 #define SkBlurDrawLooper_DEFINED 10 #define SkBlurDrawLooper_DEFINED
(...skipping 26 matching lines...) Expand all
37 37
38 SkBlurDrawLooper(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy, 38 SkBlurDrawLooper(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy,
39 uint32_t flags = kNone_BlurFlag); 39 uint32_t flags = kNone_BlurFlag);
40 40
41 // SK_ATTR_DEPRECATED("use sigma version") 41 // SK_ATTR_DEPRECATED("use sigma version")
42 SkBlurDrawLooper(SkScalar radius, SkScalar dx, SkScalar dy, SkColor color, 42 SkBlurDrawLooper(SkScalar radius, SkScalar dx, SkScalar dy, SkColor color,
43 uint32_t flags = kNone_BlurFlag); 43 uint32_t flags = kNone_BlurFlag);
44 virtual ~SkBlurDrawLooper(); 44 virtual ~SkBlurDrawLooper();
45 45
46 // overrides from SkDrawLooper 46 // overrides from SkDrawLooper
47 virtual void init(SkCanvas*); 47 virtual SkDrawLooper::DrawContext* init(SkCanvas*) const;
scroggo 2014/02/06 17:57:13 SK_OVERRIDE
48 virtual bool next(SkCanvas*, SkPaint* paint);
49 48
50 SK_DEVELOPER_TO_STRING() 49 SK_DEVELOPER_TO_STRING()
51 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurDrawLooper) 50 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlurDrawLooper)
52 51
53 protected: 52 protected:
54 SkBlurDrawLooper(SkReadBuffer&); 53 SkBlurDrawLooper(SkReadBuffer&);
55 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; 54 virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
56 55
56 virtual bool next_internal(
scroggo 2014/02/06 17:57:13 SK_OVERRIDE
57 SkCanvas* canvas, SkPaint* paint,
58 SkDrawLooper::DrawContext* context) const;
59
57 private: 60 private:
58 SkMaskFilter* fBlur; 61 SkMaskFilter* fBlur;
59 SkColorFilter* fColorFilter; 62 SkColorFilter* fColorFilter;
60 SkScalar fDx, fDy; 63 SkScalar fDx, fDy;
61 SkColor fBlurColor; 64 SkColor fBlurColor;
62 uint32_t fBlurFlags; 65 uint32_t fBlurFlags;
63 66
64 enum State { 67 enum State {
65 kBeforeEdge, 68 kBeforeEdge,
66 kAfterEdge, 69 kAfterEdge,
67 kDone 70 kDone
68 }; 71 };
69 State fState; 72
73 struct SkBlurDrawLooperContext : public SkDrawLooper::DrawContext {
74 SkBlurDrawLooperContext();
75 State fState;
76 };
70 77
71 void init(SkScalar sigma, SkScalar dx, SkScalar dy, SkColor color, uint32_t flags); 78 void init(SkScalar sigma, SkScalar dx, SkScalar dy, SkColor color, uint32_t flags);
72 79
73 typedef SkDrawLooper INHERITED; 80 typedef SkDrawLooper INHERITED;
74 }; 81 };
75 82
76 #endif 83 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698