| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2006 The Android Open Source Project | 2  * Copyright 2006 The Android Open Source Project | 
| 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 #include "SkGradientShaderPriv.h" | 8 #include "SkGradientShaderPriv.h" | 
| 9 #include "SkLinearGradient.h" | 9 #include "SkLinearGradient.h" | 
| 10 #include "SkRadialGradient.h" | 10 #include "SkRadialGradient.h" | 
| (...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 780                                          vsVaryingName, | 780                                          vsVaryingName, | 
| 781                                          vsVaryingType); | 781                                          vsVaryingType); | 
| 782 } | 782 } | 
| 783 | 783 | 
| 784 void GrGLGradientEffect::emitColorLookup(GrGLShaderBuilder* builder, | 784 void GrGLGradientEffect::emitColorLookup(GrGLShaderBuilder* builder, | 
| 785                                          const char* gradientTValue, | 785                                          const char* gradientTValue, | 
| 786                                          const char* outputColor, | 786                                          const char* outputColor, | 
| 787                                          const char* inputColor, | 787                                          const char* inputColor, | 
| 788                                          const GrGLShaderBuilder::TextureSampler
     & sampler) { | 788                                          const GrGLShaderBuilder::TextureSampler
     & sampler) { | 
| 789 | 789 | 
| 790     SkString* code = &builder->fFSCode; | 790     builder->fsCodeAppendf("\tvec2 coord = vec2(%s, %s);\n", | 
| 791     code->appendf("\tvec2 coord = vec2(%s, %s);\n", | 791                            gradientTValue, | 
| 792                   gradientTValue, | 792                            builder->getUniformVariable(fFSYUni).c_str()); | 
| 793                   builder->getUniformVariable(fFSYUni).c_str()); | 793     builder->fsCodeAppendf("\t%s = ", outputColor); | 
| 794     code->appendf("\t%s = ", outputColor); | 794     builder->appendTextureLookupAndModulate(GrGLShaderBuilder::kFragment_ShaderT
     ype, | 
| 795     builder->appendTextureLookupAndModulate(code, inputColor, sampler, "coord"); | 795                                             inputColor, | 
| 796     code->append(";\n"); | 796                                             sampler, | 
|  | 797                                             "coord"); | 
|  | 798     builder->fsCodeAppend(";\n"); | 
| 797 } | 799 } | 
| 798 | 800 | 
| 799 ///////////////////////////////////////////////////////////////////// | 801 ///////////////////////////////////////////////////////////////////// | 
| 800 | 802 | 
| 801 GrGradientEffect::GrGradientEffect(GrContext* ctx, | 803 GrGradientEffect::GrGradientEffect(GrContext* ctx, | 
| 802                                    const SkGradientShaderBase& shader, | 804                                    const SkGradientShaderBase& shader, | 
| 803                                    const SkMatrix& matrix, | 805                                    const SkMatrix& matrix, | 
| 804                                    SkShader::TileMode tileMode) { | 806                                    SkShader::TileMode tileMode) { | 
| 805     // TODO: check for simple cases where we don't need a texture: | 807     // TODO: check for simple cases where we don't need a texture: | 
| 806     //GradientInfo info; | 808     //GradientInfo info; | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 888             (*stops)[i] = stop; | 890             (*stops)[i] = stop; | 
| 889             stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st
     op) : 1.f; | 891             stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st
     op) : 1.f; | 
| 890         } | 892         } | 
| 891     } | 893     } | 
| 892     *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM
     odeCount)); | 894     *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM
     odeCount)); | 
| 893 | 895 | 
| 894     return outColors; | 896     return outColors; | 
| 895 } | 897 } | 
| 896 | 898 | 
| 897 #endif | 899 #endif | 
| OLD | NEW | 
|---|