aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shaders/gradients/SkGradientShaderPriv.h
diff options
context:
space:
mode:
authorGravatar Brian Osman <brianosman@google.com>2017-10-19 15:42:01 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-19 20:09:44 +0000
commitd43f7b68186096430b9de9af0de8ba66013aa448 (patch)
tree8989981d59df4f3bcd140da23a1707bcae16454d /src/shaders/gradients/SkGradientShaderPriv.h
parenta4aa1332a4c6a70d6c54a3bbc6172d26fc2dce15 (diff)
Simplify GrGradientEffect color handling
For analytic gradients, hoist the byte -> float, premultiplication, and color space transformation to creation time. Eliminates second array (only one was ever used), and four different onSetData helpers. Bug: skia: Change-Id: Ib5740b37ef2a5dcf2551e85b1e72f64d8cbcc5fa Reviewed-on: https://skia-review.googlesource.com/62120 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/shaders/gradients/SkGradientShaderPriv.h')
-rw-r--r--src/shaders/gradients/SkGradientShaderPriv.h14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h
index 0abfd35e99..da9098cb5d 100644
--- a/src/shaders/gradients/SkGradientShaderPriv.h
+++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -402,13 +402,7 @@ public:
PremulType getPremulType() const { return fPremulType; }
- const SkColor* getColors(int pos) const {
- SkASSERT(fColorType != kTexture_ColorType);
- SkASSERT(pos < fColors.count());
- return &fColors[pos];
- }
-
- const SkColor4f* getColors4f(int pos) const {
+ const GrColor4f* getColors4f(int pos) const {
SkASSERT(fColorType != kTexture_ColorType);
SkASSERT(pos < fColors4f.count());
return &fColors4f[pos];
@@ -453,11 +447,9 @@ protected:
private:
static OptimizationFlags OptFlags(bool isOpaque);
- // If we're in legacy mode, then fColors will be populated. If we're gamma-correct, then
- // fColors4f and fColorSpaceXform will be populated.
- SkTDArray<SkColor> fColors;
+ SkTDArray<GrColor4f> fColors4f;
- SkTDArray<SkColor4f> fColors4f;
+ // Only present if a color space transformation is needed
sk_sp<GrColorSpaceXform> fColorSpaceXform;
SkTDArray<SkScalar> fPositions;