| OLD | NEW |
| 1 | 1 |
| 2 #include "SkBitmap.h" | 2 #include "SkBitmap.h" |
| 3 #include "SkTableColorFilter.h" | 3 #include "SkTableColorFilter.h" |
| 4 #include "SkColorPriv.h" | 4 #include "SkColorPriv.h" |
| 5 #include "SkFlattenableBuffers.h" | 5 #include "SkFlattenableBuffers.h" |
| 6 #include "SkUnPreMultiply.h" | 6 #include "SkUnPreMultiply.h" |
| 7 #include "SkString.h" | 7 #include "SkString.h" |
| 8 | 8 |
| 9 class SkTable_ColorFilter : public SkColorFilter { | 9 class SkTable_ColorFilter : public SkColorFilter { |
| 10 public: | 10 public: |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 } else { | 305 } else { |
| 306 builder->fsCodeAppendf("\t\tfloat nonZeroAlpha = max(%s.a, .0001);\n", i
nputColor); | 306 builder->fsCodeAppendf("\t\tfloat nonZeroAlpha = max(%s.a, .0001);\n", i
nputColor); |
| 307 builder->fsCodeAppendf("\t\tvec4 coord = vec4(%s.rgb / nonZeroAlpha, non
ZeroAlpha);\n", inputColor); | 307 builder->fsCodeAppendf("\t\tvec4 coord = vec4(%s.rgb / nonZeroAlpha, non
ZeroAlpha);\n", inputColor); |
| 308 builder->fsCodeAppendf("\t\tcoord = coord * %f + vec4(%f, %f, %f, %f);\n
", | 308 builder->fsCodeAppendf("\t\tcoord = coord * %f + vec4(%f, %f, %f, %f);\n
", |
| 309 kColorScaleFactor, | 309 kColorScaleFactor, |
| 310 kColorOffsetFactor, kColorOffsetFactor, | 310 kColorOffsetFactor, kColorOffsetFactor, |
| 311 kColorOffsetFactor, kColorOffsetFactor); | 311 kColorOffsetFactor, kColorOffsetFactor); |
| 312 } | 312 } |
| 313 | 313 |
| 314 builder->fsCodeAppendf("\t\t%s.a = ", outputColor); | 314 builder->fsCodeAppendf("\t\t%s.a = ", outputColor); |
| 315 builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType, sample
rs[0], "vec2(coord.a, 0.125)"); | 315 builder->fsAppendTextureLookup(samplers[0], "vec2(coord.a, 0.125)"); |
| 316 builder->fsCodeAppend(";\n"); | 316 builder->fsCodeAppend(";\n"); |
| 317 | 317 |
| 318 builder->fsCodeAppendf("\t\t%s.r = ", outputColor); | 318 builder->fsCodeAppendf("\t\t%s.r = ", outputColor); |
| 319 builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType, sample
rs[0], "vec2(coord.r, 0.375)"); | 319 builder->fsAppendTextureLookup(samplers[0], "vec2(coord.r, 0.375)"); |
| 320 builder->fsCodeAppend(";\n"); | 320 builder->fsCodeAppend(";\n"); |
| 321 | 321 |
| 322 builder->fsCodeAppendf("\t\t%s.g = ", outputColor); | 322 builder->fsCodeAppendf("\t\t%s.g = ", outputColor); |
| 323 builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType, sample
rs[0], "vec2(coord.g, 0.625)"); | 323 builder->fsAppendTextureLookup(samplers[0], "vec2(coord.g, 0.625)"); |
| 324 builder->fsCodeAppend(";\n"); | 324 builder->fsCodeAppend(";\n"); |
| 325 | 325 |
| 326 builder->fsCodeAppendf("\t\t%s.b = ", outputColor); | 326 builder->fsCodeAppendf("\t\t%s.b = ", outputColor); |
| 327 builder->appendTextureLookup(GrGLShaderBuilder::kFragment_ShaderType, sample
rs[0], "vec2(coord.b, 0.875)"); | 327 builder->fsAppendTextureLookup(samplers[0], "vec2(coord.b, 0.875)"); |
| 328 builder->fsCodeAppend(";\n"); | 328 builder->fsCodeAppend(";\n"); |
| 329 | 329 |
| 330 builder->fsCodeAppendf("\t\t%s.rgb *= %s.a;\n", outputColor, outputColor); | 330 builder->fsCodeAppendf("\t\t%s.rgb *= %s.a;\n", outputColor, outputColor); |
| 331 } | 331 } |
| 332 | 332 |
| 333 GrGLEffect::EffectKey GLColorTableEffect::GenKey(const GrDrawEffect&, const GrGL
Caps&) { | 333 GrGLEffect::EffectKey GLColorTableEffect::GenKey(const GrDrawEffect&, const GrGL
Caps&) { |
| 334 return 0; | 334 return 0; |
| 335 } | 335 } |
| 336 | 336 |
| 337 /////////////////////////////////////////////////////////////////////////////// | 337 /////////////////////////////////////////////////////////////////////////////// |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 SkColorFilter* SkTableColorFilter::CreateARGB(const uint8_t tableA[256], | 422 SkColorFilter* SkTableColorFilter::CreateARGB(const uint8_t tableA[256], |
| 423 const uint8_t tableR[256], | 423 const uint8_t tableR[256], |
| 424 const uint8_t tableG[256], | 424 const uint8_t tableG[256], |
| 425 const uint8_t tableB[256]) { | 425 const uint8_t tableB[256]) { |
| 426 return SkNEW_ARGS(SkTable_ColorFilter, (tableA, tableR, tableG, tableB)); | 426 return SkNEW_ARGS(SkTable_ColorFilter, (tableA, tableR, tableG, tableB)); |
| 427 } | 427 } |
| 428 | 428 |
| 429 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkTableColorFilter) | 429 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkTableColorFilter) |
| 430 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTable_ColorFilter) | 430 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTable_ColorFilter) |
| 431 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 431 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |