| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2015 Google Inc. | 3 * Copyright 2015 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrFragmentProcessor.h" | 9 #include "GrFragmentProcessor.h" |
| 10 #include "GrCoordTransform.h" | 10 #include "GrCoordTransform.h" |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 this->initClassID<PremulFragmentProcessor>(); | 145 this->initClassID<PremulFragmentProcessor>(); |
| 146 this->registerChildProcessor(processor); | 146 this->registerChildProcessor(processor); |
| 147 } | 147 } |
| 148 | 148 |
| 149 const char* name() const override { return "Premultiply"; } | 149 const char* name() const override { return "Premultiply"; } |
| 150 | 150 |
| 151 private: | 151 private: |
| 152 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { | 152 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { |
| 153 class GLFP : public GrGLSLFragmentProcessor { | 153 class GLFP : public GrGLSLFragmentProcessor { |
| 154 public: | 154 public: |
| 155 GLFP() {} | |
| 156 | |
| 157 void emitCode(EmitArgs& args) override { | 155 void emitCode(EmitArgs& args) override { |
| 158 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; | 156 GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; |
| 159 this->emitChild(0, nullptr, args); | 157 this->emitChild(0, nullptr, args); |
| 160 fragBuilder->codeAppendf("%s.rgb *= %s.rgb;", args.fOutputCo
lor, | 158 fragBuilder->codeAppendf("%s.rgb *= %s.rgb;", args.fOutputCo
lor, |
| 161 args.fInputColor
); | 159 args.fInputColor
); |
| 162 fragBuilder->codeAppendf("%s *= %s.a;", args.fOutputColor, a
rgs.fInputColor); | 160 fragBuilder->codeAppendf("%s *= %s.a;", args.fOutputColor, a
rgs.fInputColor); |
| 163 } | 161 } |
| 164 }; | 162 }; |
| 165 return new GLFP; | 163 return new GLFP; |
| 166 } | 164 } |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 for (int i = 0; i < cnt; ++i) { | 295 for (int i = 0; i < cnt; ++i) { |
| 298 this->registerChildProcessor(children[i]); | 296 this->registerChildProcessor(children[i]); |
| 299 } | 297 } |
| 300 } | 298 } |
| 301 | 299 |
| 302 const char* name() const override { return "Series"; } | 300 const char* name() const override { return "Series"; } |
| 303 | 301 |
| 304 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { | 302 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override { |
| 305 class GLFP : public GrGLSLFragmentProcessor { | 303 class GLFP : public GrGLSLFragmentProcessor { |
| 306 public: | 304 public: |
| 307 GLFP() {} | |
| 308 void emitCode(EmitArgs& args) override { | 305 void emitCode(EmitArgs& args) override { |
| 309 SkString input(args.fInputColor); | 306 SkString input(args.fInputColor); |
| 310 for (int i = 0; i < this->numChildProcessors() - 1; ++i) { | 307 for (int i = 0; i < this->numChildProcessors() - 1; ++i) { |
| 311 SkString temp; | 308 SkString temp; |
| 312 temp.printf("out%d", i); | 309 temp.printf("out%d", i); |
| 313 this->emitChild(i, input.c_str(), &temp, args); | 310 this->emitChild(i, input.c_str(), &temp, args); |
| 314 input = temp; | 311 input = temp; |
| 315 } | 312 } |
| 316 // Last guy writes to our output variable. | 313 // Last guy writes to our output variable. |
| 317 this->emitChild(this->numChildProcessors() - 1, input.c_str(
), args); | 314 this->emitChild(this->numChildProcessors() - 1, input.c_str(
), args); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 } | 369 } |
| 373 } | 370 } |
| 374 | 371 |
| 375 if (1 == cnt) { | 372 if (1 == cnt) { |
| 376 return SkRef(series[0]); | 373 return SkRef(series[0]); |
| 377 } else { | 374 } else { |
| 378 return new SeriesFragmentProcessor(series, cnt); | 375 return new SeriesFragmentProcessor(series, cnt); |
| 379 } | 376 } |
| 380 } | 377 } |
| 381 | 378 |
| OLD | NEW |