Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Unified Diff: src/effects/gradients/Sk4fLinearGradient.h

Issue 1808963005: 4f linear gradient shader blitters (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: rename trunc_from_255 to quiet confused msvc Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/effects/gradients/Sk4fGradientPriv.h ('k') | src/effects/gradients/Sk4fLinearGradient.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
};
« no previous file with comments | « src/effects/gradients/Sk4fGradientPriv.h ('k') | src/effects/gradients/Sk4fLinearGradient.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698