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 GrDistanceFieldTextureEffect_DEFINED | 8 #ifndef GrDistanceFieldTextureEffect_DEFINED |
9 #define GrDistanceFieldTextureEffect_DEFINED | 9 #define GrDistanceFieldTextureEffect_DEFINED |
10 | 10 |
11 #include "GrProcessor.h" | 11 #include "GrProcessor.h" |
12 #include "GrGeometryProcessor.h" | 12 #include "GrGeometryProcessor.h" |
13 | 13 |
14 class GrGLDistanceFieldTextureEffect; | 14 class GrGLDistanceFieldTextureEffect; |
15 class GrGLDistanceFieldNoGammaTextureEffect; | 15 class GrGLDistanceFieldNoGammaTextureEffect; |
16 class GrGLDistanceFieldLCDTextureEffect; | 16 class GrGLDistanceFieldLCDTextureEffect; |
| 17 class GrInvariantOutput; |
17 | 18 |
18 enum GrDistanceFieldEffectFlags { | 19 enum GrDistanceFieldEffectFlags { |
19 kSimilarity_DistanceFieldEffectFlag = 0x01, // ctm is similarity matrix | 20 kSimilarity_DistanceFieldEffectFlag = 0x01, // ctm is similarity matrix |
20 kRectToRect_DistanceFieldEffectFlag = 0x02, // ctm maps rects to rects | 21 kRectToRect_DistanceFieldEffectFlag = 0x02, // ctm maps rects to rects |
21 kUseLCD_DistanceFieldEffectFlag = 0x04, // use lcd text | 22 kUseLCD_DistanceFieldEffectFlag = 0x04, // use lcd text |
22 kBGR_DistanceFieldEffectFlag = 0x08, // lcd display has bgr order | 23 kBGR_DistanceFieldEffectFlag = 0x08, // lcd display has bgr order |
23 kPortrait_DistanceFieldEffectFlag = 0x10, // lcd display is in portrait
mode (not used yet) | 24 kPortrait_DistanceFieldEffectFlag = 0x10, // lcd display is in portrait
mode (not used yet) |
24 | 25 |
25 kInvalid_DistanceFieldEffectFlag = 0x80, // invalid state (for initiali
zation) | 26 kInvalid_DistanceFieldEffectFlag = 0x80, // invalid state (for initiali
zation) |
26 | 27 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 | 74 |
74 private: | 75 private: |
75 GrDistanceFieldTextureEffect(GrTexture* texture, const GrTextureParams& para
ms, | 76 GrDistanceFieldTextureEffect(GrTexture* texture, const GrTextureParams& para
ms, |
76 #ifdef SK_GAMMA_APPLY_TO_A8 | 77 #ifdef SK_GAMMA_APPLY_TO_A8 |
77 GrTexture* gamma, const GrTextureParams& gammaP
arams, float lum, | 78 GrTexture* gamma, const GrTextureParams& gammaP
arams, float lum, |
78 #endif | 79 #endif |
79 uint32_t flags); | 80 uint32_t flags); |
80 | 81 |
81 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 82 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
82 | 83 |
83 virtual void onComputeInvariantOutput(InvariantOutput* inout) const SK_OVERR
IDE; | 84 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE; |
84 | 85 |
85 GrTextureAccess fTextureAccess; | 86 GrTextureAccess fTextureAccess; |
86 #ifdef SK_GAMMA_APPLY_TO_A8 | 87 #ifdef SK_GAMMA_APPLY_TO_A8 |
87 GrTextureAccess fGammaTextureAccess; | 88 GrTextureAccess fGammaTextureAccess; |
88 float fLuminance; | 89 float fLuminance; |
89 #endif | 90 #endif |
90 uint32_t fFlags; | 91 uint32_t fFlags; |
91 const GrShaderVar& fInTextureCoords; | 92 const GrShaderVar& fInTextureCoords; |
92 | 93 |
93 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 94 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
(...skipping 25 matching lines...) Expand all Loading... |
119 typedef GrGLDistanceFieldNoGammaTextureEffect GLProcessor; | 120 typedef GrGLDistanceFieldNoGammaTextureEffect GLProcessor; |
120 | 121 |
121 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; | 122 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; |
122 | 123 |
123 private: | 124 private: |
124 GrDistanceFieldNoGammaTextureEffect(GrTexture* texture, const GrTextureParam
s& params, | 125 GrDistanceFieldNoGammaTextureEffect(GrTexture* texture, const GrTextureParam
s& params, |
125 uint32_t flags); | 126 uint32_t flags); |
126 | 127 |
127 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 128 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
128 | 129 |
129 virtual void onComputeInvariantOutput(InvariantOutput* inout) const SK_OVERR
IDE; | 130 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE; |
130 | 131 |
131 GrTextureAccess fTextureAccess; | 132 GrTextureAccess fTextureAccess; |
132 uint32_t fFlags; | 133 uint32_t fFlags; |
133 const GrShaderVar& fInTextureCoords; | 134 const GrShaderVar& fInTextureCoords; |
134 | 135 |
135 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 136 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
136 | 137 |
137 typedef GrGeometryProcessor INHERITED; | 138 typedef GrGeometryProcessor INHERITED; |
138 }; | 139 }; |
139 | 140 |
(...skipping 25 matching lines...) Expand all Loading... |
165 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; | 166 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; |
166 | 167 |
167 private: | 168 private: |
168 GrDistanceFieldLCDTextureEffect(GrTexture* texture, const GrTextureParams& p
arams, | 169 GrDistanceFieldLCDTextureEffect(GrTexture* texture, const GrTextureParams& p
arams, |
169 GrTexture* gamma, const GrTextureParams& gam
maParams, | 170 GrTexture* gamma, const GrTextureParams& gam
maParams, |
170 SkColor textColor, | 171 SkColor textColor, |
171 uint32_t flags); | 172 uint32_t flags); |
172 | 173 |
173 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 174 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
174 | 175 |
175 virtual void onComputeInvariantOutput(InvariantOutput* inout) const SK_OVERR
IDE; | 176 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE; |
176 | 177 |
177 GrTextureAccess fTextureAccess; | 178 GrTextureAccess fTextureAccess; |
178 GrTextureAccess fGammaTextureAccess; | 179 GrTextureAccess fGammaTextureAccess; |
179 GrColor fTextColor; | 180 GrColor fTextColor; |
180 uint32_t fFlags; | 181 uint32_t fFlags; |
181 const GrShaderVar& fInTextureCoords; | 182 const GrShaderVar& fInTextureCoords; |
182 | 183 |
183 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 184 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
184 | 185 |
185 typedef GrGeometryProcessor INHERITED; | 186 typedef GrGeometryProcessor INHERITED; |
186 }; | 187 }; |
187 | 188 |
188 #endif | 189 #endif |
OLD | NEW |