diff options
Diffstat (limited to 'include/gpu/GrPaint.h')
-rw-r--r-- | include/gpu/GrPaint.h | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/include/gpu/GrPaint.h b/include/gpu/GrPaint.h index f31830bb2b..49b95b8449 100644 --- a/include/gpu/GrPaint.h +++ b/include/gpu/GrPaint.h @@ -13,6 +13,7 @@ #include "GrColor.h" #include "GrFragmentStage.h" #include "GrXferProcessor.h" +#include "effects/GrPorterDuffXferProcessor.h" #include "SkXfermode.h" @@ -51,17 +52,6 @@ public: ~GrPaint() {} /** - * Sets the blending coefficients to use to blend the final primitive color with the - * destination color. Defaults to kOne for src and kZero for dst (i.e. src mode). - */ - void setBlendFunc(GrBlendCoeff srcCoeff, GrBlendCoeff dstCoeff) { - fSrcBlendCoeff = srcCoeff; - fDstBlendCoeff = dstCoeff; - } - GrBlendCoeff getSrcBlendCoeff() const { return fSrcBlendCoeff; } - GrBlendCoeff getDstBlendCoeff() const { return fDstBlendCoeff; } - - /** * The initial color of the drawn primitive. Defaults to solid white. */ void setColor(GrColor color) { fColor = color; } @@ -84,6 +74,14 @@ public: return xpFactory; } + void setPorterDuffXPFactory(SkXfermode::Mode mode) { + fXPFactory.reset(GrPorterDuffXPFactory::Create(mode)); + } + + void setPorterDuffXPFactory(GrBlendCoeff src, GrBlendCoeff dst) { + fXPFactory.reset(GrPorterDuffXPFactory::Create(src, dst)); + } + /** * Appends an additional color processor to the color computation. */ @@ -121,8 +119,6 @@ public: const GrFragmentStage& getCoverageStage(int s) const { return fCoverageStages[s]; } GrPaint& operator=(const GrPaint& paint) { - fSrcBlendCoeff = paint.fSrcBlendCoeff; - fDstBlendCoeff = paint.fDstBlendCoeff; fAntiAlias = paint.fAntiAlias; fDither = paint.fDither; @@ -140,7 +136,6 @@ public: * Resets the paint to the defaults. */ void reset() { - this->resetBlend(); this->resetOptions(); this->resetColor(); this->resetStages(); @@ -211,18 +206,11 @@ private: SkSTArray<4, GrFragmentStage> fColorStages; SkSTArray<2, GrFragmentStage> fCoverageStages; - GrBlendCoeff fSrcBlendCoeff; - GrBlendCoeff fDstBlendCoeff; bool fAntiAlias; bool fDither; GrColor fColor; - void resetBlend() { - fSrcBlendCoeff = kOne_GrBlendCoeff; - fDstBlendCoeff = kZero_GrBlendCoeff; - } - void resetOptions() { fAntiAlias = false; fDither = false; @@ -232,7 +220,7 @@ private: fColor = GrColorPackRGBA(0xff, 0xff, 0xff, 0xff); } - void resetStages(); + void resetStages(); }; #endif |