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 { |