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 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
691 str->append(" "); | 691 str->append(" "); |
692 str->append(gTileModeName[fTileMode]); | 692 str->append(gTileModeName[fTileMode]); |
693 | 693 |
694 this->INHERITED::toString(str); | 694 this->INHERITED::toString(str); |
695 } | 695 } |
696 #endif | 696 #endif |
697 | 697 |
698 /////////////////////////////////////////////////////////////////////////////// | 698 /////////////////////////////////////////////////////////////////////////////// |
699 /////////////////////////////////////////////////////////////////////////////// | 699 /////////////////////////////////////////////////////////////////////////////// |
700 | 700 |
701 #include "SkEmptyShader.h" | |
702 | |
703 // assumes colors is SkColor* and pos is SkScalar* | 701 // assumes colors is SkColor* and pos is SkScalar* |
704 #define EXPAND_1_COLOR(count) \ | 702 #define EXPAND_1_COLOR(count) \ |
705 SkColor tmp[2]; \ | 703 SkColor tmp[2]; \ |
706 do { \ | 704 do { \ |
707 if (1 == count) { \ | 705 if (1 == count) { \ |
708 tmp[0] = tmp[1] = colors[0]; \ | 706 tmp[0] = tmp[1] = colors[0]; \ |
709 colors = tmp; \ | 707 colors = tmp; \ |
710 pos = NULL; \ | 708 pos = NULL; \ |
711 count = 2; \ | 709 count = 2; \ |
712 } \ | 710 } \ |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
783 const SkColor colors[], | 781 const SkColor colors[], |
784 const SkScalar pos[], | 782 const SkScalar pos[], |
785 int colorCount, | 783 int colorCount, |
786 SkShader::TileMode mode, | 784 SkShader::TileMode mode, |
787 uint32_t flags, | 785 uint32_t flags, |
788 const SkMatrix* localMatrix) { | 786 const SkMatrix* localMatrix) { |
789 if (startRadius < 0 || endRadius < 0 || NULL == colors || colorCount < 1) { | 787 if (startRadius < 0 || endRadius < 0 || NULL == colors || colorCount < 1) { |
790 return NULL; | 788 return NULL; |
791 } | 789 } |
792 if (start == end && startRadius == endRadius) { | 790 if (start == end && startRadius == endRadius) { |
793 return SkNEW(SkEmptyShader); | 791 return SkShader::CreateEmptyShader(); |
794 } | 792 } |
795 | 793 |
796 EXPAND_1_COLOR(colorCount); | 794 EXPAND_1_COLOR(colorCount); |
797 | 795 |
798 bool flipGradient = startRadius > endRadius; | 796 bool flipGradient = startRadius > endRadius; |
799 | 797 |
800 SkGradientShaderBase::Descriptor desc; | 798 SkGradientShaderBase::Descriptor desc; |
801 | 799 |
802 if (!flipGradient) { | 800 if (!flipGradient) { |
803 desc_init(&desc, colors, pos, colorCount, mode, flags); | 801 desc_init(&desc, colors, pos, colorCount, mode, flags); |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1149 (*stops)[i] = stop; | 1147 (*stops)[i] = stop; |
1150 stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st
op) : 1.f; | 1148 stop = i < outColors - 1 ? stop + random->nextUScalar1() * (1.f - st
op) : 1.f; |
1151 } | 1149 } |
1152 } | 1150 } |
1153 *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM
odeCount)); | 1151 *tm = static_cast<SkShader::TileMode>(random->nextULessThan(SkShader::kTileM
odeCount)); |
1154 | 1152 |
1155 return outColors; | 1153 return outColors; |
1156 } | 1154 } |
1157 | 1155 |
1158 #endif | 1156 #endif |
OLD | NEW |