Add flag to gradients to interpolate colors in premul space. Experimental API to encapsulate the shared parameters for all gradients into a struct.
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/15893002
git-svn-id: http://skia.googlecode.com/svn/trunk@9273 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/gradients/SkGradientShaderPriv.h b/src/effects/gradients/SkGradientShaderPriv.h
index d792c42..31cc9f2 100644
--- a/src/effects/gradients/SkGradientShaderPriv.h
+++ b/src/effects/gradients/SkGradientShaderPriv.h
@@ -93,6 +93,7 @@
int fCount;
SkShader::TileMode fTileMode;
SkUnitMapper* fMapper;
+ uint32_t fFlags;
};
public:
@@ -141,6 +142,7 @@
int fColorCount;
uint8_t fDstToIndexClass;
uint8_t fFlags;
+ uint8_t fGradFlags;
struct Rec {
SkFixed fPos; // 0...1
@@ -172,7 +174,7 @@
static void Build16bitCache(uint16_t[], SkColor c0, SkColor c1, int count);
static void Build32bitCache(SkPMColor[], SkColor c0, SkColor c1, int count,
- U8CPU alpha);
+ U8CPU alpha, uint32_t gradFlags);
void setCacheAlpha(U8CPU alpha) const;
void initCommon();