Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Unified Diff: src/gpu/effects/GrDistanceFieldTextureEffect.h

Issue 1073473005: Rename DistanceFieldTextureEffect.{cpp,h} (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/effects/GrDistanceFieldGeoProc.cpp ('k') | src/gpu/effects/GrDistanceFieldTextureEffect.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/effects/GrDistanceFieldTextureEffect.h
diff --git a/src/gpu/effects/GrDistanceFieldTextureEffect.h b/src/gpu/effects/GrDistanceFieldTextureEffect.h
deleted file mode 100644
index aaa1b6339c9cdfff04809a4d5c38eeefbb899858..0000000000000000000000000000000000000000
--- a/src/gpu/effects/GrDistanceFieldTextureEffect.h
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef GrDistanceFieldGeoProc_DEFINED
-#define GrDistanceFieldGeoProc_DEFINED
-
-#include "GrProcessor.h"
-#include "GrGeometryProcessor.h"
-
-class GrGLDistanceFieldA8TextGeoProc;
-class GrGLDistanceFieldPathGeoProc;
-class GrGLDistanceFieldLCDTextGeoProc;
-class GrInvariantOutput;
-
-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)
- kColorAttr_DistanceFieldEffectFlag = 0x20, // color vertex attribute
-
- kInvalid_DistanceFieldEffectFlag = 0x80, // invalid state (for initialization)
-
- kUniformScale_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag |
- kRectToRect_DistanceFieldEffectFlag,
- // The subset of the flags relevant to GrDistanceFieldA8TextGeoProc
- kNonLCD_DistanceFieldEffectMask = kSimilarity_DistanceFieldEffectFlag |
- kColorAttr_DistanceFieldEffectFlag,
- // The subset of the flags relevant to GrDistanceFieldLCDTextGeoProc
- 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).
- * It allows explicit specification of the filtering and wrap modes (GrTextureParams). The input
- * coords are a custom attribute. Gamma correction is handled via a texture LUT.
- */
-class GrDistanceFieldA8TextGeoProc : public GrGeometryProcessor {
-public:
-#ifdef SK_GAMMA_APPLY_TO_A8
- static GrGeometryProcessor* Create(GrColor color, const SkMatrix& viewMatrix,
- const SkMatrix& localMatrix,
- GrTexture* tex, const GrTextureParams& params,
- float lum, uint32_t flags, bool opaqueVertexColors) {
- return SkNEW_ARGS(GrDistanceFieldA8TextGeoProc, (color, viewMatrix, localMatrix, tex,
- params, lum, flags, opaqueVertexColors));
- }
-#else
- static GrGeometryProcessor* Create(GrColor color, const SkMatrix& viewMatrix,
- const SkMatrix& localMatrix,
- GrTexture* tex, const GrTextureParams& params,
- uint32_t flags, bool opaqueVertexColors) {
- return SkNEW_ARGS(GrDistanceFieldA8TextGeoProc, (color, viewMatrix, localMatrix, tex,
- params, flags, opaqueVertexColors));
- }
-#endif
-
- virtual ~GrDistanceFieldA8TextGeoProc() {}
-
- const char* name() const override { return "DistanceFieldTexture"; }
-
- const Attribute* inPosition() const { return fInPosition; }
- const Attribute* inColor() const { return fInColor; }
- const Attribute* inTextureCoords() const { return fInTextureCoords; }
-#ifdef SK_GAMMA_APPLY_TO_A8
- float getDistanceAdjust() const { return fDistanceAdjust; }
-#endif
- uint32_t getFlags() const { return fFlags; }
-
- virtual void getGLProcessorKey(const GrBatchTracker& bt,
- const GrGLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
- virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
- const GrGLCaps&) const override;
-
- void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override;
-
- bool onCanMakeEqual(const GrBatchTracker&,
- const GrGeometryProcessor&,
- const GrBatchTracker&) const override;
-
-private:
- GrDistanceFieldA8TextGeoProc(GrColor, const SkMatrix& viewMatrix, const SkMatrix& localMatrix,
- GrTexture* texture, const GrTextureParams& params,
-#ifdef SK_GAMMA_APPLY_TO_A8
- float distanceAdjust,
-#endif
- uint32_t flags, bool opaqueVertexColors);
-
- bool onIsEqual(const GrGeometryProcessor& other) const override;
-
- void onGetInvariantOutputCoverage(GrInitInvariantOutput*) const override;
-
- GrTextureAccess fTextureAccess;
-#ifdef SK_GAMMA_APPLY_TO_A8
- float fDistanceAdjust;
-#endif
- uint32_t fFlags;
- const Attribute* fInPosition;
- const Attribute* fInColor;
- const Attribute* fInTextureCoords;
-
- GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
-
- typedef GrGeometryProcessor INHERITED;
-};
-
-
-/**
-* 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).
-* It allows explicit specification of the filtering and wrap modes (GrTextureParams). The input
-* coords are a custom attribute. No gamma correct blending is applied. Used for paths only.
-*/
-class GrDistanceFieldPathGeoProc : public GrGeometryProcessor {
-public:
- static GrGeometryProcessor* Create(GrColor color, const SkMatrix& viewMatrix, GrTexture* tex,
- const GrTextureParams& params,
- uint32_t flags, bool opaqueVertexColors) {
- return SkNEW_ARGS(GrDistanceFieldPathGeoProc, (color, viewMatrix, tex, params,
- flags, opaqueVertexColors));
- }
-
- virtual ~GrDistanceFieldPathGeoProc() {}
-
- const char* name() const override { return "DistanceFieldTexture"; }
-
- const Attribute* inPosition() const { return fInPosition; }
- const Attribute* inColor() const { return fInColor; }
- const Attribute* inTextureCoords() const { return fInTextureCoords; }
- uint32_t getFlags() const { return fFlags; }
-
- virtual void getGLProcessorKey(const GrBatchTracker& bt,
- const GrGLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
- virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
- const GrGLCaps&) const override;
-
- void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override;
-
- bool onCanMakeEqual(const GrBatchTracker&,
- const GrGeometryProcessor&,
- const GrBatchTracker&) const override;
-
-private:
- GrDistanceFieldPathGeoProc(GrColor, const SkMatrix& viewMatrix, GrTexture* texture,
- const GrTextureParams& params, uint32_t flags,
- bool opaqueVertexColors);
-
- bool onIsEqual(const GrGeometryProcessor& other) const override;
-
- void onGetInvariantOutputCoverage(GrInitInvariantOutput*) const override;
-
- GrTextureAccess fTextureAccess;
- uint32_t fFlags;
- const Attribute* fInPosition;
- const Attribute* fInColor;
- const Attribute* fInTextureCoords;
-
- GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
-
- typedef GrGeometryProcessor INHERITED;
-};
-
-/**
- * The output color of this effect is a modulation of the input color and samples from a
- * distance field texture (using a smoothed step function near 0.5), adjusted for LCD displays.
- * It allows explicit specification of the filtering and wrap modes (GrTextureParams). The input
- * coords are a custom attribute. Gamma correction is handled via a texture LUT.
- */
-class GrDistanceFieldLCDTextGeoProc : public GrGeometryProcessor {
-public:
- struct DistanceAdjust {
- SkScalar fR, fG, fB;
- static DistanceAdjust Make(SkScalar r, SkScalar g, SkScalar b) {
- DistanceAdjust result;
- result.fR = r; result.fG = g; result.fB = b;
- return result;
- }
- bool operator==(const DistanceAdjust& wa) const {
- return (fR == wa.fR && fG == wa.fG && fB == wa.fB);
- }
- bool operator!=(const DistanceAdjust& wa) const {
- return !(*this == wa);
- }
- };
-
- static GrGeometryProcessor* Create(GrColor color, const SkMatrix& viewMatrix,
- const SkMatrix& localMatrix,
- GrTexture* tex, const GrTextureParams& params,
- DistanceAdjust distanceAdjust, uint32_t flags) {
- return SkNEW_ARGS(GrDistanceFieldLCDTextGeoProc,
- (color, viewMatrix, localMatrix, tex, params, distanceAdjust, flags));
- }
-
- virtual ~GrDistanceFieldLCDTextGeoProc() {}
-
- const char* name() const override { return "DistanceFieldLCDTexture"; }
-
- const Attribute* inPosition() const { return fInPosition; }
- const Attribute* inTextureCoords() const { return fInTextureCoords; }
- DistanceAdjust getDistanceAdjust() const { return fDistanceAdjust; }
- uint32_t getFlags() const { return fFlags; }
-
- virtual void getGLProcessorKey(const GrBatchTracker& bt,
- const GrGLCaps& caps,
- GrProcessorKeyBuilder* b) const override;
-
- virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt,
- const GrGLCaps&) const override;
-
- void initBatchTracker(GrBatchTracker* bt, const GrPipelineInfo& init) const override;
-
- bool onCanMakeEqual(const GrBatchTracker&,
- const GrGeometryProcessor&,
- const GrBatchTracker&) const override;
-
-private:
- GrDistanceFieldLCDTextGeoProc(GrColor, const SkMatrix& viewMatrix,
- const SkMatrix& localMatrix,
- GrTexture* texture, const GrTextureParams& params,
- DistanceAdjust wa, uint32_t flags);
-
- bool onIsEqual(const GrGeometryProcessor& other) const override;
-
- void onGetInvariantOutputCoverage(GrInitInvariantOutput*) const override;
-
- GrTextureAccess fTextureAccess;
- DistanceAdjust fDistanceAdjust;
- uint32_t fFlags;
- const Attribute* fInPosition;
- const Attribute* fInTextureCoords;
-
- GR_DECLARE_GEOMETRY_PROCESSOR_TEST;
-
- typedef GrGeometryProcessor INHERITED;
-};
-
-#endif
« no previous file with comments | « src/gpu/effects/GrDistanceFieldGeoProc.cpp ('k') | src/gpu/effects/GrDistanceFieldTextureEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698