| 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 |