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 GrBezierEffect_DEFINED | 8 #ifndef GrBezierEffect_DEFINED |
9 #define GrBezierEffect_DEFINED | 9 #define GrBezierEffect_DEFINED |
10 | 10 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 return gConicFillBW; | 81 return gConicFillBW; |
82 default: | 82 default: |
83 return NULL; | 83 return NULL; |
84 } | 84 } |
85 } | 85 } |
86 | 86 |
87 virtual ~GrConicEffect(); | 87 virtual ~GrConicEffect(); |
88 | 88 |
89 static const char* Name() { return "Conic"; } | 89 static const char* Name() { return "Conic"; } |
90 | 90 |
91 inline const GrShaderVar& inConicCoeffs() const { return fInConicCoeffs; } | 91 inline const GrAttribute* inPosition() const { return fInPosition; } |
| 92 inline const GrAttribute* inConicCoeffs() const { return fInConicCoeffs; } |
92 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } | 93 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } |
93 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} | 94 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} |
94 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } | 95 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } |
95 | 96 |
96 typedef GrGLConicEffect GLProcessor; | 97 typedef GrGLConicEffect GLProcessor; |
97 | 98 |
98 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; | 99 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; |
99 | 100 |
100 private: | 101 private: |
101 GrConicEffect(GrPrimitiveEdgeType); | 102 GrConicEffect(GrPrimitiveEdgeType); |
102 | 103 |
103 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 104 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
104 | 105 |
105 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { | 106 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { |
106 inout->mulByUnknownAlpha(); | 107 inout->mulByUnknownAlpha(); |
107 } | 108 } |
108 | 109 |
109 GrPrimitiveEdgeType fEdgeType; | 110 GrPrimitiveEdgeType fEdgeType; |
110 const GrShaderVar& fInConicCoeffs; | 111 const GrAttribute* fInPosition; |
| 112 const GrAttribute* fInConicCoeffs; |
111 | 113 |
112 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 114 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
113 | 115 |
114 typedef GrGeometryProcessor INHERITED; | 116 typedef GrGeometryProcessor INHERITED; |
115 }; | 117 }; |
116 | 118 |
117 /////////////////////////////////////////////////////////////////////////////// | 119 /////////////////////////////////////////////////////////////////////////////// |
118 /** | 120 /** |
119 * The output of this effect is a hairline edge for quadratics. | 121 * The output of this effect is a hairline edge for quadratics. |
120 * Quadratic specified by 0=u^2-v canonical coords. u and v are the first | 122 * Quadratic specified by 0=u^2-v canonical coords. u and v are the first |
(...skipping 29 matching lines...) Expand all Loading... |
150 return gQuadFillBW; | 152 return gQuadFillBW; |
151 default: | 153 default: |
152 return NULL; | 154 return NULL; |
153 } | 155 } |
154 } | 156 } |
155 | 157 |
156 virtual ~GrQuadEffect(); | 158 virtual ~GrQuadEffect(); |
157 | 159 |
158 static const char* Name() { return "Quad"; } | 160 static const char* Name() { return "Quad"; } |
159 | 161 |
160 inline const GrShaderVar& inHairQuadEdge() const { return fInHairQuadEdge; } | 162 inline const GrAttribute* inPosition() const { return fInPosition; } |
| 163 inline const GrAttribute* inHairQuadEdge() const { return fInHairQuadEdge; } |
161 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } | 164 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } |
162 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} | 165 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} |
163 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } | 166 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } |
164 | 167 |
165 typedef GrGLQuadEffect GLProcessor; | 168 typedef GrGLQuadEffect GLProcessor; |
166 | 169 |
167 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; | 170 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; |
168 | 171 |
169 private: | 172 private: |
170 GrQuadEffect(GrPrimitiveEdgeType); | 173 GrQuadEffect(GrPrimitiveEdgeType); |
171 | 174 |
172 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 175 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
173 | 176 |
174 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { | 177 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { |
175 inout->mulByUnknownAlpha(); | 178 inout->mulByUnknownAlpha(); |
176 } | 179 } |
177 | 180 |
178 GrPrimitiveEdgeType fEdgeType; | 181 GrPrimitiveEdgeType fEdgeType; |
179 const GrShaderVar& fInHairQuadEdge; | 182 const GrAttribute* fInPosition; |
| 183 const GrAttribute* fInHairQuadEdge; |
180 | 184 |
181 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 185 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
182 | 186 |
183 typedef GrGeometryProcessor INHERITED; | 187 typedef GrGeometryProcessor INHERITED; |
184 }; | 188 }; |
185 | 189 |
186 ////////////////////////////////////////////////////////////////////////////// | 190 ////////////////////////////////////////////////////////////////////////////// |
187 /** | 191 /** |
188 * Shader is based off of "Resolution Independent Curve Rendering using | 192 * Shader is based off of "Resolution Independent Curve Rendering using |
189 * Programmable Graphics Hardware" by Loop and Blinn. | 193 * Programmable Graphics Hardware" by Loop and Blinn. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 return gCubicFillBW; | 225 return gCubicFillBW; |
222 default: | 226 default: |
223 return NULL; | 227 return NULL; |
224 } | 228 } |
225 } | 229 } |
226 | 230 |
227 virtual ~GrCubicEffect(); | 231 virtual ~GrCubicEffect(); |
228 | 232 |
229 static const char* Name() { return "Cubic"; } | 233 static const char* Name() { return "Cubic"; } |
230 | 234 |
231 inline const GrShaderVar& inCubicCoeffs() const { return fInCubicCoeffs; } | 235 inline const GrAttribute* inPosition() const { return fInPosition; } |
| 236 inline const GrAttribute* inCubicCoeffs() const { return fInCubicCoeffs; } |
232 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } | 237 inline bool isAntiAliased() const { return GrProcessorEdgeTypeIsAA(fEdgeType
); } |
233 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} | 238 inline bool isFilled() const { return GrProcessorEdgeTypeIsFill(fEdgeType);
} |
234 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } | 239 inline GrPrimitiveEdgeType getEdgeType() const { return fEdgeType; } |
235 | 240 |
236 typedef GrGLCubicEffect GLProcessor; | 241 typedef GrGLCubicEffect GLProcessor; |
237 | 242 |
238 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; | 243 virtual const GrBackendGeometryProcessorFactory& getFactory() const SK_OVERR
IDE; |
239 | 244 |
240 private: | 245 private: |
241 GrCubicEffect(GrPrimitiveEdgeType); | 246 GrCubicEffect(GrPrimitiveEdgeType); |
242 | 247 |
243 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; | 248 virtual bool onIsEqual(const GrGeometryProcessor& other) const SK_OVERRIDE; |
244 | 249 |
245 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { | 250 virtual void onComputeInvariantOutput(GrInvariantOutput* inout) const SK_OVE
RRIDE { |
246 inout->mulByUnknownAlpha(); | 251 inout->mulByUnknownAlpha(); |
247 } | 252 } |
248 | 253 |
249 GrPrimitiveEdgeType fEdgeType; | 254 GrPrimitiveEdgeType fEdgeType; |
250 const GrShaderVar& fInCubicCoeffs; | 255 const GrAttribute* fInPosition; |
| 256 const GrAttribute* fInCubicCoeffs; |
251 | 257 |
252 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; | 258 GR_DECLARE_GEOMETRY_PROCESSOR_TEST; |
253 | 259 |
254 typedef GrGeometryProcessor INHERITED; | 260 typedef GrGeometryProcessor INHERITED; |
255 }; | 261 }; |
256 | 262 |
257 #endif | 263 #endif |
OLD | NEW |