| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2013 Google Inc. | 2  * Copyright 2013 Google Inc. | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 | 7 | 
| 8 #ifndef GrBitmapTextGeoProc_DEFINED | 8 #ifndef GrBitmapTextGeoProc_DEFINED | 
| 9 #define GrBitmapTextGeoProc_DEFINED | 9 #define GrBitmapTextGeoProc_DEFINED | 
| 10 | 10 | 
| 11 #include "GrProcessor.h" | 11 #include "GrProcessor.h" | 
| 12 #include "GrGeometryProcessor.h" | 12 #include "GrGeometryProcessor.h" | 
| 13 | 13 | 
| 14 class GrGLBitmapTextGeoProc; | 14 class GrGLBitmapTextGeoProc; | 
| 15 class GrInvariantOutput; | 15 class GrInvariantOutput; | 
| 16 | 16 | 
| 17 /** | 17 /** | 
| 18  * The output color of this effect is a modulation of the input color and a samp
    le from a texture. | 18  * The output color of this effect is a modulation of the input color and a samp
    le from a texture. | 
| 19  * It allows explicit specification of the filtering and wrap modes (GrTexturePa
    rams). The input | 19  * It allows explicit specification of the filtering and wrap modes (GrTexturePa
    rams). The input | 
| 20  * coords are a custom attribute. | 20  * coords are a custom attribute. | 
| 21  */ | 21  */ | 
| 22 class GrBitmapTextGeoProc : public GrGeometryProcessor { | 22 class GrBitmapTextGeoProc : public GrGeometryProcessor { | 
| 23 public: | 23 public: | 
| 24     static GrGeometryProcessor* Create(GrColor color, GrTexture* tex, const GrTe
    xtureParams& p, | 24     static GrGeometryProcessor* Create(GrColor color, GrTexture* tex, const GrTe
    xtureParams& p, | 
| 25                                        GrMaskFormat format, | 25                                        GrMaskFormat format, const SkMatrix& loca
    lMatrix, | 
| 26                                        const SkMatrix& localMatrix) { | 26                                        bool usesLocalCoords) { | 
| 27         return SkNEW_ARGS(GrBitmapTextGeoProc, (color, tex, p, format, localMatr
    ix)); | 27         return SkNEW_ARGS(GrBitmapTextGeoProc, (color, tex, p, format, localMatr
    ix, | 
|  | 28                 usesLocalCoords)); | 
| 28     } | 29     } | 
| 29 | 30 | 
| 30     virtual ~GrBitmapTextGeoProc() {} | 31     virtual ~GrBitmapTextGeoProc() {} | 
| 31 | 32 | 
| 32     const char* name() const override { return "Texture"; } | 33     const char* name() const override { return "Texture"; } | 
| 33 | 34 | 
| 34     const Attribute* inPosition() const { return fInPosition; } | 35     const Attribute* inPosition() const { return fInPosition; } | 
| 35     const Attribute* inColor() const { return fInColor; } | 36     const Attribute* inColor() const { return fInColor; } | 
| 36     const Attribute* inTextureCoords() const { return fInTextureCoords; } | 37     const Attribute* inTextureCoords() const { return fInTextureCoords; } | 
| 37     GrMaskFormat maskFormat() const { return fMaskFormat; } | 38     GrMaskFormat maskFormat() const { return fMaskFormat; } | 
| 38     GrColor color() const { return fColor; } | 39     GrColor color() const { return fColor; } | 
|  | 40     bool colorIgnored() const { return GrColor_ILLEGAL == fColor; } | 
|  | 41     bool hasVertexColor() const { return SkToBool(fInColor); } | 
| 39     const SkMatrix& localMatrix() const { return fLocalMatrix; } | 42     const SkMatrix& localMatrix() const { return fLocalMatrix; } | 
|  | 43     bool usesLocalCoords() const { return fUsesLocalCoords; } | 
| 40 | 44 | 
| 41     virtual void getGLProcessorKey(const GrBatchTracker& bt, | 45     virtual void getGLProcessorKey(const GrBatchTracker& bt, | 
| 42                                    const GrGLSLCaps& caps, | 46                                    const GrGLSLCaps& caps, | 
| 43                                    GrProcessorKeyBuilder* b) const override; | 47                                    GrProcessorKeyBuilder* b) const override; | 
| 44 | 48 | 
| 45     virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, | 49     virtual GrGLPrimitiveProcessor* createGLInstance(const GrBatchTracker& bt, | 
| 46                                                      const GrGLSLCaps& caps) con
    st override; | 50                                                      const GrGLSLCaps& caps) con
    st override; | 
| 47 | 51 | 
| 48     void initBatchTracker(GrBatchTracker*, const GrPipelineInfo&) const override
    ; |  | 
| 49 |  | 
| 50 private: | 52 private: | 
| 51     GrBitmapTextGeoProc(GrColor, GrTexture* texture, const GrTextureParams& para
    ms, | 53     GrBitmapTextGeoProc(GrColor, GrTexture* texture, const GrTextureParams& para
    ms, | 
| 52                         GrMaskFormat format, const SkMatrix& localMatrix); | 54                         GrMaskFormat format, const SkMatrix& localMatrix, bool u
    sesLocalCoords); | 
| 53 | 55 | 
| 54     GrColor          fColor; | 56     GrColor          fColor; | 
| 55     SkMatrix         fLocalMatrix; | 57     SkMatrix         fLocalMatrix; | 
|  | 58     bool             fUsesLocalCoords; | 
| 56     GrTextureAccess  fTextureAccess; | 59     GrTextureAccess  fTextureAccess; | 
| 57     const Attribute* fInPosition; | 60     const Attribute* fInPosition; | 
| 58     const Attribute* fInColor; | 61     const Attribute* fInColor; | 
| 59     const Attribute* fInTextureCoords; | 62     const Attribute* fInTextureCoords; | 
| 60     GrMaskFormat     fMaskFormat; | 63     GrMaskFormat     fMaskFormat; | 
| 61 | 64 | 
| 62     GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 65     GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 
| 63 | 66 | 
| 64     typedef GrGeometryProcessor INHERITED; | 67     typedef GrGeometryProcessor INHERITED; | 
| 65 }; | 68 }; | 
| 66 | 69 | 
| 67 #endif | 70 #endif | 
| OLD | NEW | 
|---|