diff options
Diffstat (limited to 'src/core/SkXfermode_proccoeff.h')
-rw-r--r-- | src/core/SkXfermode_proccoeff.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/core/SkXfermode_proccoeff.h b/src/core/SkXfermode_proccoeff.h new file mode 100644 index 0000000000..3a65a94277 --- /dev/null +++ b/src/core/SkXfermode_proccoeff.h @@ -0,0 +1,39 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkXfermode_proccoeff_DEFINED +#define SkXfermode_proccoeff_DEFINED + +#include "SkXfermodePriv.h" + +#define CANNOT_USE_COEFF SkXfermode::Coeff(-1) + +class SkProcCoeffXfermode : public SkXfermode { +public: + SkProcCoeffXfermode(SkXfermodeProc proc, SkBlendMode mode) { + fMode = mode; + fProc = proc; + } + + void xfer32(SkPMColor dst[], const SkPMColor src[], int count, + const SkAlpha aa[]) const override; + +protected: + SkBlendMode getMode() const { return fMode; } + + SkXfermodeProc getProc() const { return fProc; } + +private: + SkXfermodeProc fProc; + SkBlendMode fMode; + + friend class SkXfermode; + + typedef SkXfermode INHERITED; +}; + +#endif // #ifndef SkXfermode_proccoeff_DEFINED |