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

Unified Diff: src/core/SkCoreBlitters.h

Issue 1634273002: float components in xfermodes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: disable blitter for official checkin Created 4 years, 11 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
Index: src/core/SkCoreBlitters.h
diff --git a/src/core/SkCoreBlitters.h b/src/core/SkCoreBlitters.h
index b327039682e40473dd97bceb0cc584441505d5f4..d2559f565b1803893b9cb298bb0a9c6da7f60628 100644
--- a/src/core/SkCoreBlitters.h
+++ b/src/core/SkCoreBlitters.h
@@ -170,7 +170,7 @@ public:
void blitRect(int x, int y, int width, int height) override;
void blitAntiH(int x, int y, const SkAlpha[], const int16_t[]) override;
void blitMask(const SkMask&, const SkIRect&) override;
-
+
private:
SkXfermode* fXfermode;
SkPMColor* fBuffer;
@@ -178,13 +178,37 @@ private:
SkBlitRow::Proc32 fProc32Blend;
bool fShadeDirectlyIntoDevice;
bool fConstInY;
-
+
// illegal
SkARGB32_Shader_Blitter& operator=(const SkARGB32_Shader_Blitter&);
-
+
typedef SkShaderBlitter INHERITED;
};
+class SkARGB32_Shader4f_Blitter : public SkARGB32_Shader_Blitter {
+public:
+ SkARGB32_Shader4f_Blitter(const SkPixmap& device, const SkPaint& paint,
+ SkShader::Context* shaderContext);
+ virtual ~SkARGB32_Shader4f_Blitter();
+ void blitH(int x, int y, int width) override;
+ void blitV(int x, int y, int height, SkAlpha alpha) override;
+ void blitRect(int x, int y, int width, int height) override;
+ void blitAntiH(int x, int y, const SkAlpha[], const int16_t[]) override;
+ void blitMask(const SkMask&, const SkIRect&) override;
+
+private:
+ SkXfermode::PM4fState fState;
+ SkXfermode::PM4fProc1 fProc1;
+ SkXfermode::PM4fProcN fProcN;
+ SkPM4f* fBuffer;
+ bool fConstInY;
+
+ // illegal
+ SkARGB32_Shader4f_Blitter& operator=(const SkARGB32_Shader4f_Blitter&);
mtklein 2016/02/01 22:53:52 doesn't hurt to add "= delete" to these now.
reed1 2016/02/02 14:20:54 Clearly this was copy-paste from above. Is "= dele
+
+ typedef SkARGB32_Shader_Blitter INHERITED;
+};
+
///////////////////////////////////////////////////////////////////////////////
/* These return the correct subclass of blitter for their device config.

Powered by Google App Engine
This is Rietveld 408576698