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

Side by Side Diff: third_party/WebKit/Source/core/paint/LayerClipRecorder.h

Issue 2581243002: Simplify and speed up painting of clipping masks (Closed)
Patch Set: Fix cases with no clip recorder Created 4 years 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 unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef LayerClipRecorder_h 5 #ifndef LayerClipRecorder_h
6 #define LayerClipRecorder_h 6 #define LayerClipRecorder_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/paint/PaintLayerPaintingInfo.h" 9 #include "core/paint/PaintLayerPaintingInfo.h"
10 #include "core/paint/PaintPhase.h" 10 #include "core/paint/PaintPhase.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const LayoutBoxModelObject&, 46 const LayoutBoxModelObject&,
47 DisplayItem::Type, 47 DisplayItem::Type,
48 const ClipRect&, 48 const ClipRect&,
49 const PaintLayerPaintingInfo* localPaintingInfo, 49 const PaintLayerPaintingInfo* localPaintingInfo,
50 const LayoutPoint& fragmentOffset, 50 const LayoutPoint& fragmentOffset,
51 PaintLayerFlags, 51 PaintLayerFlags,
52 BorderRadiusClippingRule = IncludeSelfForBorderRadius); 52 BorderRadiusClippingRule = IncludeSelfForBorderRadius);
53 53
54 ~LayerClipRecorder(); 54 ~LayerClipRecorder();
55 55
56 // Access to clip rects to support filling mask layers.
57 const IntRect& snappedClipRect() const { return m_snappedClipRect; }
58 const Vector<FloatRoundedRect>& roundedRects() const {
59 return m_roundedRects;
60 }
61
56 private: 62 private:
57 void collectRoundedRectClips(PaintLayer&, 63 void collectRoundedRectClips(PaintLayer&,
58 const PaintLayerPaintingInfo& localPaintingInfo, 64 const PaintLayerPaintingInfo& localPaintingInfo,
59 GraphicsContext&, 65 GraphicsContext&,
60 const LayoutPoint& fragmentOffset, 66 const LayoutPoint& fragmentOffset,
61 PaintLayerFlags, 67 PaintLayerFlags,
62 BorderRadiusClippingRule, 68 BorderRadiusClippingRule);
63 Vector<FloatRoundedRect>& roundedRectClips);
64 69
65 GraphicsContext& m_graphicsContext; 70 GraphicsContext& m_graphicsContext;
66 const LayoutBoxModelObject& m_layoutObject; 71 const LayoutBoxModelObject& m_layoutObject;
67 DisplayItem::Type m_clipType; 72 DisplayItem::Type m_clipType;
73 IntRect m_snappedClipRect;
74 Vector<FloatRoundedRect> m_roundedRects;
68 }; 75 };
69 76
70 } // namespace blink 77 } // namespace blink
71 78
72 #endif // LayerClipRecorder_h 79 #endif // LayerClipRecorder_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698