Index: src/gpu/effects/GrDistanceFieldTextureEffect.h |
diff --git a/src/gpu/effects/GrDistanceFieldTextureEffect.h b/src/gpu/effects/GrDistanceFieldTextureEffect.h |
index 38e41e5590d6d801304cdc3d5d37a6895b8907e6..6189ec2c3d928b696cfd04dab69564e05f1515f4 100644 |
--- a/src/gpu/effects/GrDistanceFieldTextureEffect.h |
+++ b/src/gpu/effects/GrDistanceFieldTextureEffect.h |
@@ -14,6 +14,22 @@ |
class GrGLDistanceFieldTextureEffect; |
class GrGLDistanceFieldLCDTextureEffect; |
+enum GrDistanceFieldEffectFlags { |
+ kSimilarity_DistanceFieldEffectFlag = 0x01, // ctm is similarity matrix |
+ kRectToRect_DistanceFieldEffectFlag = 0x02, // ctm maps rects to rects |
+ kUseLCD_DistanceFieldEffectFlag = 0x04, // use lcd text |
+ kBGR_DistanceFieldEffectFlag = 0x08, // lcd display has bgr order |
+ kPortrait_DistanceFieldEffectFlag = 0x10, // lcd display is in portrait mode (not used yet) |
+ |
+ kUniformScale_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag | |
+ kRectToRect_DistanceFieldEffectFlag, |
robertphillips
2014/07/29 14:01:06
// The subset of the flags relevant to GrDistanceF
jvanverth1
2014/07/29 14:43:42
Done.
|
+ kNonLCD_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag, |
robertphillips
2014/07/29 14:01:06
// The subset of the flags relevant to GrDistanceF
jvanverth1
2014/07/29 14:43:41
Done.
|
+ kLCD_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag | |
+ kRectToRect_DistanceFieldEffectFlag | |
+ kUseLCD_DistanceFieldEffectFlag | |
+ kBGR_DistanceFieldEffectFlag, |
+}; |
+ |
/** |
* The output color of this effect is a modulation of the input color and a sample from a |
* distance field texture (using a smoothed step function near 0.5). |
@@ -25,14 +41,14 @@ public: |
#ifdef SK_GAMMA_APPLY_TO_A8 |
static GrEffect* Create(GrTexture* tex, const GrTextureParams& params, |
GrTexture* gamma, const GrTextureParams& gammaParams, float lum, |
- bool similarity) { |
+ uint32_t flags) { |
return SkNEW_ARGS(GrDistanceFieldTextureEffect, (tex, params, gamma, gammaParams, lum, |
- similarity)); |
+ flags)); |
} |
#else |
static GrEffect* Create(GrTexture* tex, const GrTextureParams& params, |
- bool similarity) { |
- return SkNEW_ARGS(GrDistanceFieldTextureEffect, (tex, params, similarity)); |
+ uint32_t flags) { |
+ return SkNEW_ARGS(GrDistanceFieldTextureEffect, (tex, params, flags)); |
} |
#endif |
@@ -44,7 +60,7 @@ public: |
#ifdef SK_GAMMA_APPLY_TO_A8 |
float getLuminance() const { return fLuminance; } |
#endif |
- bool isSimilarity() const { return fIsSimilarity; } |
+ uint32_t getFlags() const { return fFlags; } |
typedef GrGLDistanceFieldTextureEffect GLEffect; |
@@ -55,7 +71,7 @@ private: |
#ifdef SK_GAMMA_APPLY_TO_A8 |
GrTexture* gamma, const GrTextureParams& gammaParams, float lum, |
#endif |
- bool uniformScale); |
+ uint32_t flags); |
virtual bool onIsEqual(const GrEffect& other) const SK_OVERRIDE; |
@@ -64,7 +80,7 @@ private: |
GrTextureAccess fGammaTextureAccess; |
float fLuminance; |
#endif |
- bool fIsSimilarity; |
+ uint32_t fFlags; |
GR_DECLARE_EFFECT_TEST; |
@@ -81,9 +97,9 @@ class GrDistanceFieldLCDTextureEffect : public GrVertexEffect { |
public: |
static GrEffect* Create(GrTexture* tex, const GrTextureParams& params, |
GrTexture* gamma, const GrTextureParams& gammaParams, |
- SkColor textColor, bool uniformScale, bool useBGR) { |
+ SkColor textColor, uint32_t flags) { |
return SkNEW_ARGS(GrDistanceFieldLCDTextureEffect, |
- (tex, params, gamma, gammaParams, textColor, uniformScale, useBGR)); |
+ (tex, params, gamma, gammaParams, textColor, flags)); |
} |
virtual ~GrDistanceFieldLCDTextureEffect() {} |
@@ -92,8 +108,7 @@ public: |
virtual void getConstantColorComponents(GrColor* color, uint32_t* validFlags) const SK_OVERRIDE; |
GrColor getTextColor() const { return fTextColor; } |
- bool isUniformScale() const { return fUniformScale; } |
- bool useBGR() const { return fUseBGR; } |
+ uint32_t getFlags() const { return fFlags; } |
typedef GrGLDistanceFieldLCDTextureEffect GLEffect; |
@@ -103,15 +118,14 @@ private: |
GrDistanceFieldLCDTextureEffect(GrTexture* texture, const GrTextureParams& params, |
GrTexture* gamma, const GrTextureParams& gammaParams, |
SkColor textColor, |
- bool uniformScale, bool useBGR); |
+ uint32_t flags); |
virtual bool onIsEqual(const GrEffect& other) const SK_OVERRIDE; |
GrTextureAccess fTextureAccess; |
GrTextureAccess fGammaTextureAccess; |
GrColor fTextColor; |
- bool fUniformScale; |
- bool fUseBGR; |
+ uint32_t fFlags; |
GR_DECLARE_EFFECT_TEST; |