Index: src/effects/gradients/Sk4fLinearGradient.h |
diff --git a/src/effects/gradients/Sk4fLinearGradient.h b/src/effects/gradients/Sk4fLinearGradient.h |
index 67449fc7e98849e454e40048b19e4e5a3bc05ddb..9bce47c33dbe2b3d35ecde7d9d2f12261100b007 100644 |
--- a/src/effects/gradients/Sk4fLinearGradient.h |
+++ b/src/effects/gradients/Sk4fLinearGradient.h |
@@ -22,22 +22,29 @@ public: |
protected: |
void mapTs(int x, int y, SkScalar ts[], int count) const override; |
+ BlitProc onChooseBlitProc(const SkImageInfo&, BlitState*) override; |
+ |
private: |
using INHERITED = GradientShaderBase4fContext; |
- template<typename DstType, TileMode> |
+ template<typename DstType, SkColorProfileType, TileMode> |
class LinearIntervalProcessor; |
- template <typename DstType, bool premul> |
+ template <typename DstType, SkColorProfileType, ApplyPremul> |
void shadePremulSpan(int x, int y, DstType[], int count) const; |
- template <typename DstType, bool premul, SkShader::TileMode tileMode> |
+ template <typename DstType, SkColorProfileType, ApplyPremul, SkShader::TileMode tileMode> |
void shadeSpanInternal(int x, int y, DstType[], int count) const; |
const Interval* findInterval(SkScalar fx) const; |
bool isFast() const { return fDstToPosClass == kLinear_MatrixClass; } |
+ static void D32_BlitProc(BlitState* state, int x, int y, const SkPixmap& dst, |
+ int count, const SkAlpha aa[]); |
+ static void D64_BlitProc(BlitState*, int x, int y, const SkPixmap& dst, |
+ int count, const SkAlpha aa[]); |
+ |
mutable const Interval* fCachedInterval; |
}; |