Chromium Code Reviews| 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; |