Index: Source/core/paint/ClipRecorder.h |
diff --git a/Source/core/paint/ClipRecorder.h b/Source/core/paint/ClipRecorder.h |
index 9fea722569798fec58d068cae47a11c30744afbd..eccf137ffba1b8dcf3b583b55d65cf7ef867189e 100644 |
--- a/Source/core/paint/ClipRecorder.h |
+++ b/Source/core/paint/ClipRecorder.h |
@@ -6,16 +6,14 @@ |
#define ClipRecorder_h |
#include "core/paint/ViewDisplayList.h" |
-#include "core/rendering/LayerPaintingInfo.h" |
-#include "core/rendering/PaintPhase.h" |
#include "core/rendering/RenderLayerModelObject.h" |
+#include "platform/geometry/LayoutRect.h" |
#include "platform/geometry/RoundedRect.h" |
-#include "wtf/Vector.h" |
namespace blink { |
-class ClipRect; |
-class GraphicsContext; |
+class RenderLayerModelObject; |
+struct PaintInfo; |
class ClipDisplayItem : public DisplayItem { |
public: |
@@ -41,33 +39,16 @@ public: |
class ClipRecorder { |
public: |
- |
- enum BorderRadiusClippingRule { IncludeSelfForBorderRadius, DoNotIncludeSelfForBorderRadius }; |
- |
- // Set rounded clip rectangles defined by border radii all the way from the LayerPaintingInfo |
- // "root" layer down to the specified layer (or the parent of said layer, in case |
- // BorderRadiusClippingRule says to skip self). fragmentOffset is used for multicol, to specify |
- // the translation required to get from flow thread coordinates to visual coordinates for a |
- // certain column. |
- // FIXME: The BorderRadiusClippingRule parameter is really useless now. If we want to skip self, |
- // why not just supply the parent layer as the first parameter instead? |
- // FIXME: The ClipRect passed is in visual coordinates (not flow thread coordinates), but at the |
- // same time we pass a fragmentOffset, so that we can translate from flow thread coordinates to |
- // visual coordinates. This may look rather confusing/redundant, but it is needed for rounded |
- // border clipping. Would be nice to clean up this. |
- explicit ClipRecorder(const RenderLayerModelObject*, GraphicsContext*, DisplayItem::Type, const ClipRect&, const LayerPaintingInfo* localPaintingInfo, const LayoutPoint& fragmentOffset, PaintLayerFlags, BorderRadiusClippingRule = IncludeSelfForBorderRadius); |
- |
+ ClipRecorder(RenderLayerModelObject&, const PaintInfo&, const LayoutRect& clipRect); |
~ClipRecorder(); |
+ static DisplayItem::Type paintPhaseToClipType(PaintPhase); |
private: |
- |
- void collectRoundedRectClips(RenderLayer&, const LayerPaintingInfo& localPaintingInfo, GraphicsContext*, const LayoutPoint& fragmentOffset, PaintLayerFlags, |
- BorderRadiusClippingRule, Vector<RoundedRect>& roundedRectClips); |
- |
- GraphicsContext* m_graphicsContext; |
- const RenderLayerModelObject* m_renderer; |
+ LayoutRect m_clipRect; |
+ const PaintInfo& m_paintInfo; |
+ RenderLayerModelObject& m_canvas; |
}; |
} // namespace blink |
-#endif // ViewDisplayList_h |
+#endif // ClipRecorder_h |