1 #ifndef SkXfermode_proccoeff_DEFINED
2 #define SkXfermode_proccoeff_DEFINED
4 #include "SkXfermode.h"
5 #include "SkReadBuffer.h"
6 #include "SkWriteBuffer.h"
10 SkXfermode::Coeff fSC;
11 SkXfermode::Coeff fDC;
14 #define CANNOT_USE_COEFF SkXfermode::Coeff(-1)
16 class SkProcCoeffXfermode : public SkProcXfermode {
18 SkProcCoeffXfermode(const ProcCoeff& rec, Mode mode)
19 : INHERITED(rec.fProc) {
21 // these may be valid, or may be CANNOT_USE_COEFF
26 virtual bool asMode(Mode* mode) const SK_OVERRIDE;
28 virtual bool asCoeff(Coeff* sc, Coeff* dc) const SK_OVERRIDE;
31 virtual bool asNewEffect(GrEffectRef** effect,
32 GrTexture* background) const SK_OVERRIDE;
35 SK_DEVELOPER_TO_STRING()
36 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkProcCoeffXfermode)
39 SkProcCoeffXfermode(SkReadBuffer& buffer);
41 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE;
43 Mode getMode() const {
49 Coeff fSrcCoeff, fDstCoeff;
51 typedef SkProcXfermode INHERITED;
54 #endif // #ifndef SkXfermode_proccoeff_DEFINED