Re-land: Stop using fixed point recs for gradient positioning info
The fixed point gradient records are historical relics. Instead of
round-tripping through FP, just use the float positions directly.
We can remove the recs completely in a follow-up.
TBR=
Change-Id: Ic3c8e58af6dfa76744799513c9e60af0462014d0
Reviewed-on: https://skia-review.googlesource.com/64680
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h
index 9aad102..983c3ef 100644
--- a/src/shaders/gradients/SkGradientShaderPriv.h
+++ b/src/shaders/gradients/SkGradientShaderPriv.h
@@ -125,6 +125,11 @@
};
SkColor fStorage[(kStorageSize + 3) >> 2];
public:
+ SkScalar getPos(int i) const {
+ SkASSERT(i < fColorCount);
+ return fOrigPos ? fOrigPos[i] : SkIntToScalar(i) / (fColorCount - 1);
+ }
+
SkColor* fOrigColors; // original colors, before modulation by paint in context.
SkColor4f* fOrigColors4f; // original colors, as linear floats
SkScalar* fOrigPos; // original positions