Index: include/gpu/GrPaint.h |
diff --git a/include/gpu/GrPaint.h b/include/gpu/GrPaint.h |
index f31830bb2bfa6d58361d9edfaef28f542d7dd7d9..49b95b8449357e4872c78ee158549cca05363a2a 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 |