| 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
|
|
|