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

Side by Side Diff: src/core/SkXfermode_proccoeff.h

Issue 240533003: Orphan ProcXfermode, with an eye towards removing it (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: guard toString Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/core/SkXfermode.cpp ('k') | src/utils/debugger/SkDebugCanvas.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 #ifndef SkXfermode_proccoeff_DEFINED 1 #ifndef SkXfermode_proccoeff_DEFINED
2 #define SkXfermode_proccoeff_DEFINED 2 #define SkXfermode_proccoeff_DEFINED
3 3
4 #include "SkXfermode.h" 4 #include "SkXfermode.h"
5 #include "SkReadBuffer.h" 5 #include "SkReadBuffer.h"
6 #include "SkWriteBuffer.h" 6 #include "SkWriteBuffer.h"
7 7
8 struct ProcCoeff { 8 struct ProcCoeff {
9 SkXfermodeProc fProc; 9 SkXfermodeProc fProc;
10 SkXfermode::Coeff fSC; 10 SkXfermode::Coeff fSC;
11 SkXfermode::Coeff fDC; 11 SkXfermode::Coeff fDC;
12 }; 12 };
13 13
14 #define CANNOT_USE_COEFF SkXfermode::Coeff(-1) 14 #define CANNOT_USE_COEFF SkXfermode::Coeff(-1)
15 15
16 class SK_API SkProcCoeffXfermode : public SkProcXfermode { 16 class SK_API SkProcCoeffXfermode : public SkXfermode {
17 public: 17 public:
18 static SkProcCoeffXfermode* Create(const ProcCoeff& rec, Mode mode) { 18 static SkProcCoeffXfermode* Create(const ProcCoeff& rec, Mode mode) {
19 return SkNEW_ARGS(SkProcCoeffXfermode, (rec, mode)); 19 return SkNEW_ARGS(SkProcCoeffXfermode, (rec, mode));
20 } 20 }
21 21
22 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count,
23 const SkAlpha aa[]) const SK_OVERRIDE;
24 virtual void xfer16(uint16_t dst[], const SkPMColor src[], int count,
25 const SkAlpha aa[]) const SK_OVERRIDE;
26 virtual void xferA8(SkAlpha dst[], const SkPMColor src[], int count,
27 const SkAlpha aa[]) const SK_OVERRIDE;
28
22 virtual bool asMode(Mode* mode) const SK_OVERRIDE; 29 virtual bool asMode(Mode* mode) const SK_OVERRIDE;
23 30
24 virtual bool asCoeff(Coeff* sc, Coeff* dc) const SK_OVERRIDE; 31 virtual bool asCoeff(Coeff* sc, Coeff* dc) const SK_OVERRIDE;
25 32
26 #if SK_SUPPORT_GPU 33 #if SK_SUPPORT_GPU
27 virtual bool asNewEffect(GrEffectRef** effect, 34 virtual bool asNewEffect(GrEffectRef** effect,
28 GrTexture* background) const SK_OVERRIDE; 35 GrTexture* background) const SK_OVERRIDE;
29 #endif 36 #endif
30 37
31 SK_TO_STRING_OVERRIDE() 38 SK_TO_STRING_OVERRIDE()
32 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcCoeffXfermode) 39 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcCoeffXfermode)
33 40
34 protected: 41 protected:
35 SkProcCoeffXfermode(const ProcCoeff& rec, Mode mode) 42 SkProcCoeffXfermode(const ProcCoeff& rec, Mode mode) {
36 : INHERITED(rec.fProc) {
37 fMode = mode; 43 fMode = mode;
44 fProc = rec.fProc;
38 // these may be valid, or may be CANNOT_USE_COEFF 45 // these may be valid, or may be CANNOT_USE_COEFF
39 fSrcCoeff = rec.fSC; 46 fSrcCoeff = rec.fSC;
40 fDstCoeff = rec.fDC; 47 fDstCoeff = rec.fDC;
41 } 48 }
42 49
43 SkProcCoeffXfermode(SkReadBuffer& buffer); 50 SkProcCoeffXfermode(SkReadBuffer& buffer);
44 51
45 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE; 52 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE;
46 53
47 Mode getMode() const { 54 Mode getMode() const { return fMode; }
48 return fMode; 55
49 } 56 SkXfermodeProc getProc() const { return fProc; }
50 57
51 private: 58 private:
52 Mode fMode; 59 SkXfermodeProc fProc;
53 Coeff fSrcCoeff, fDstCoeff; 60 Mode fMode;
61 Coeff fSrcCoeff, fDstCoeff;
54 62
55 typedef SkProcXfermode INHERITED; 63 typedef SkXfermode INHERITED;
56 }; 64 };
57 65
58 #endif // #ifndef SkXfermode_proccoeff_DEFINED 66 #endif // #ifndef SkXfermode_proccoeff_DEFINED
OLDNEW
« no previous file with comments | « src/core/SkXfermode.cpp ('k') | src/utils/debugger/SkDebugCanvas.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698