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

Unified Diff: Source/platform/graphics/paint/CompositingDisplayItem.h

Issue 947893002: Implement SVG masking with slimming paint (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add a mask debug print string Created 5 years, 10 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: Source/platform/graphics/paint/CompositingDisplayItem.h
diff --git a/Source/platform/graphics/paint/CompositingDisplayItem.h b/Source/platform/graphics/paint/CompositingDisplayItem.h
index b5ffd416fac6a9394537ac3671d39d5360408a6b..d0feab7d4d505d3e1cfa0ec5692e97b3ac076cbf 100644
--- a/Source/platform/graphics/paint/CompositingDisplayItem.h
+++ b/Source/platform/graphics/paint/CompositingDisplayItem.h
@@ -5,7 +5,7 @@
#ifndef CompositingDisplayItem_h
#define CompositingDisplayItem_h
-#include "platform/geometry/LayoutRect.h"
+#include "platform/geometry/FloatRect.h"
#include "platform/graphics/GraphicsTypes.h"
#include "platform/graphics/paint/DisplayItem.h"
#include "public/platform/WebBlendMode.h"
@@ -19,16 +19,20 @@ namespace blink {
class PLATFORM_EXPORT BeginCompositingDisplayItem : public PairedBeginDisplayItem {
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<BeginCompositingDisplayItem> create(DisplayItemClient client, const CompositeOperator compositeOp, const WebBlendMode& blendMode, const float opacity)
+ static PassOwnPtr<BeginCompositingDisplayItem> create(DisplayItemClient client, const SkXfermode::Mode xferMode, const float opacity, const FloatRect* clipRect = 0, ColorFilter colorFilter = ColorFilterNone)
{
- return adoptPtr(new BeginCompositingDisplayItem(client, compositeOp, blendMode, opacity));
+ return adoptPtr(new BeginCompositingDisplayItem(client, xferMode, opacity, clipRect, colorFilter));
}
- BeginCompositingDisplayItem(DisplayItemClient client, const CompositeOperator compositeOp, const WebBlendMode& blendMode, const float opacity)
+ BeginCompositingDisplayItem(DisplayItemClient client, const SkXfermode::Mode xferMode, const float opacity, const FloatRect* clipRect = 0, ColorFilter colorFilter = ColorFilterNone)
: PairedBeginDisplayItem(client, BeginCompositing)
- , m_compositeOp(compositeOp)
- , m_blendMode(blendMode)
- , m_opacity(opacity) { }
+ , m_xferMode(xferMode)
+ , m_opacity(opacity)
+ , m_colorFilter(colorFilter)
+ {
+ if (clipRect)
+ m_clipRect = adoptPtr(new FloatRect(*clipRect));
+ }
virtual void replay(GraphicsContext*) override;
virtual void appendToWebDisplayItemList(WebDisplayItemList*) const override;
@@ -37,9 +41,10 @@ private:
#ifndef NDEBUG
virtual void dumpPropertiesAsDebugString(WTF::StringBuilder&) const override;
#endif
- const CompositeOperator m_compositeOp;
- const WebBlendMode m_blendMode;
+ const SkXfermode::Mode m_xferMode;
const float m_opacity;
+ OwnPtr<FloatRect> m_clipRect;
+ ColorFilter m_colorFilter;
};
class PLATFORM_EXPORT EndCompositingDisplayItem : public PairedEndDisplayItem {
« no previous file with comments | « Source/platform/graphics/GraphicsContext.h ('k') | Source/platform/graphics/paint/CompositingDisplayItem.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698