diff options
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkColorFilters.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp index ba62817f56..8e10d73a0e 100644 --- a/src/effects/SkColorFilters.cpp +++ b/src/effects/SkColorFilters.cpp @@ -406,7 +406,13 @@ GrFragmentProcessor* ModeColorFilterEffect::TestCreate(SkRandom* rand, while (SkXfermode::kDst_Mode == mode) { mode = static_cast<SkXfermode::Mode>(rand->nextRangeU(0, SkXfermode::kLastCoeffMode)); } - GrColor color = rand->nextU(); + + // pick a random premul color + uint8_t alpha = rand->nextULessThan(256); + GrColor color = GrColorPackRGBA(rand->nextRangeU(0, alpha), + rand->nextRangeU(0, alpha), + rand->nextRangeU(0, alpha), + alpha); return ModeColorFilterEffect::Create(color, mode); } |