| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 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 "SkRadialGradient.h" | 9 #include "SkRadialGradient.h" |
| 10 #include "SkRadialGradient_Table.h" | 10 #include "SkRadialGradient_Table.h" |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 ///////////////////////////////////////////////////////////////////// | 467 ///////////////////////////////////////////////////////////////////// |
| 468 | 468 |
| 469 #if SK_SUPPORT_GPU | 469 #if SK_SUPPORT_GPU |
| 470 | 470 |
| 471 #include "GrTBackendEffectFactory.h" | 471 #include "GrTBackendEffectFactory.h" |
| 472 | 472 |
| 473 class GrGLRadialGradient : public GrGLGradientEffect { | 473 class GrGLRadialGradient : public GrGLGradientEffect { |
| 474 public: | 474 public: |
| 475 | 475 |
| 476 GrGLRadialGradient(const GrBackendEffectFactory& factory, | 476 GrGLRadialGradient(const GrBackendEffectFactory& factory, |
| 477 const GrEffectRef&) : INHERITED (factory) { } | 477 const GrDrawEffect&) : INHERITED (factory) { } |
| 478 virtual ~GrGLRadialGradient() { } | 478 virtual ~GrGLRadialGradient() { } |
| 479 | 479 |
| 480 virtual void emitCode(GrGLShaderBuilder*, | 480 virtual void emitCode(GrGLShaderBuilder*, |
| 481 const GrEffectStage&, | 481 const GrDrawEffect&, |
| 482 EffectKey, | 482 EffectKey, |
| 483 const char* vertexCoords, | |
| 484 const char* outputColor, | 483 const char* outputColor, |
| 485 const char* inputColor, | 484 const char* inputColor, |
| 486 const TextureSamplerArray&) SK_OVERRIDE; | 485 const TextureSamplerArray&) SK_OVERRIDE; |
| 487 | 486 |
| 488 static EffectKey GenKey(const GrEffectStage& stage, const GrGLCaps&) { | 487 static EffectKey GenKey(const GrDrawEffect& drawEffect, const GrGLCaps&) { |
| 489 return GenMatrixKey(stage); | 488 return GenMatrixKey(drawEffect); |
| 490 } | 489 } |
| 491 | 490 |
| 492 private: | 491 private: |
| 493 | 492 |
| 494 typedef GrGLGradientEffect INHERITED; | 493 typedef GrGLGradientEffect INHERITED; |
| 495 | 494 |
| 496 }; | 495 }; |
| 497 | 496 |
| 498 ///////////////////////////////////////////////////////////////////// | 497 ///////////////////////////////////////////////////////////////////// |
| 499 | 498 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateRadial(center, radius, | 546 SkAutoTUnref<SkShader> shader(SkGradientShader::CreateRadial(center, radius, |
| 548 colors, stops,
colorCount, | 547 colors, stops,
colorCount, |
| 549 tm)); | 548 tm)); |
| 550 SkPaint paint; | 549 SkPaint paint; |
| 551 return shader->asNewEffect(context, paint); | 550 return shader->asNewEffect(context, paint); |
| 552 } | 551 } |
| 553 | 552 |
| 554 ///////////////////////////////////////////////////////////////////// | 553 ///////////////////////////////////////////////////////////////////// |
| 555 | 554 |
| 556 void GrGLRadialGradient::emitCode(GrGLShaderBuilder* builder, | 555 void GrGLRadialGradient::emitCode(GrGLShaderBuilder* builder, |
| 557 const GrEffectStage&, | 556 const GrDrawEffect&, |
| 558 EffectKey key, | 557 EffectKey key, |
| 559 const char* vertexCoords, | |
| 560 const char* outputColor, | 558 const char* outputColor, |
| 561 const char* inputColor, | 559 const char* inputColor, |
| 562 const TextureSamplerArray& samplers) { | 560 const TextureSamplerArray& samplers) { |
| 563 this->emitYCoordUniform(builder); | 561 this->emitYCoordUniform(builder); |
| 564 const char* coords; | 562 const char* coords; |
| 565 this->setupMatrix(builder, key, vertexCoords, &coords); | 563 this->setupMatrix(builder, key, &coords); |
| 566 SkString t("length("); | 564 SkString t("length("); |
| 567 t.append(coords); | 565 t.append(coords); |
| 568 t.append(")"); | 566 t.append(")"); |
| 569 this->emitColorLookup(builder, t.c_str(), outputColor, inputColor, samplers[
0]); | 567 this->emitColorLookup(builder, t.c_str(), outputColor, inputColor, samplers[
0]); |
| 570 } | 568 } |
| 571 | 569 |
| 572 ///////////////////////////////////////////////////////////////////// | 570 ///////////////////////////////////////////////////////////////////// |
| 573 | 571 |
| 574 GrEffectRef* SkRadialGradient::asNewEffect(GrContext* context, const SkPaint&) c
onst { | 572 GrEffectRef* SkRadialGradient::asNewEffect(GrContext* context, const SkPaint&) c
onst { |
| 575 SkASSERT(NULL != context); | 573 SkASSERT(NULL != context); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 601 str->appendScalar(fCenter.fY); | 599 str->appendScalar(fCenter.fY); |
| 602 str->append(") radius: "); | 600 str->append(") radius: "); |
| 603 str->appendScalar(fRadius); | 601 str->appendScalar(fRadius); |
| 604 str->append(" "); | 602 str->append(" "); |
| 605 | 603 |
| 606 this->INHERITED::toString(str); | 604 this->INHERITED::toString(str); |
| 607 | 605 |
| 608 str->append(")"); | 606 str->append(")"); |
| 609 } | 607 } |
| 610 #endif | 608 #endif |
| OLD | NEW |