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

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

Issue 1144203004: Allow certain SP recorder classes to defer their "begin" operation. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/paint/InlineTextBoxPainter.cpp ('k') | 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/DeprecatedPaintLayerPaintingInfo.h" 9 #include "core/paint/DeprecatedPaintLayerPaintingInfo.h"
10 #include "core/paint/PaintPhase.h" 10 #include "core/paint/PaintPhase.h"
(...skipping 16 matching lines...) Expand all
27 // "root" layer down to the specified layer (or the parent of said layer, in case 27 // "root" layer down to the specified layer (or the parent of said layer, in case
28 // BorderRadiusClippingRule says to skip self). fragmentOffset is used for m ulticol, to specify 28 // BorderRadiusClippingRule says to skip self). fragmentOffset is used for m ulticol, to specify
29 // the translation required to get from flow thread coordinates to visual co ordinates for a 29 // the translation required to get from flow thread coordinates to visual co ordinates for a
30 // certain column. 30 // certain column.
31 // FIXME: The BorderRadiusClippingRule parameter is really useless now. If w e want to skip self, 31 // FIXME: The BorderRadiusClippingRule parameter is really useless now. If w e want to skip self,
32 // why not just supply the parent layer as the first parameter instead? 32 // why not just supply the parent layer as the first parameter instead?
33 // FIXME: The ClipRect passed is in visual coordinates (not flow thread coor dinates), but at the 33 // FIXME: The ClipRect passed is in visual coordinates (not flow thread coor dinates), but at the
34 // same time we pass a fragmentOffset, so that we can translate from flow th read coordinates to 34 // same time we pass a fragmentOffset, so that we can translate from flow th read coordinates to
35 // visual coordinates. This may look rather confusing/redundant, but it is n eeded for rounded 35 // visual coordinates. This may look rather confusing/redundant, but it is n eeded for rounded
36 // border clipping. Would be nice to clean up this. 36 // border clipping. Would be nice to clean up this.
37 explicit LayerClipRecorder(GraphicsContext&, const LayoutBoxModelObject&, Di splayItem::Type, const ClipRect&, const DeprecatedPaintLayerPaintingInfo* localP aintingInfo, const LayoutPoint& fragmentOffset, PaintLayerFlags, BorderRadiusCli ppingRule = IncludeSelfForBorderRadius); 37 LayerClipRecorder(GraphicsContext&, DisplayItem::Type);
38 LayerClipRecorder(GraphicsContext&, const LayoutBoxModelObject&, DisplayItem ::Type, const ClipRect&, const DeprecatedPaintLayerPaintingInfo* localPaintingIn fo, const LayoutPoint& fragmentOffset, PaintLayerFlags, BorderRadiusClippingRule = IncludeSelfForBorderRadius);
39 ~LayerClipRecorder();
38 40
39 ~LayerClipRecorder(); 41 void begin(const LayoutBoxModelObject& layoutObject, const ClipRect&, const DeprecatedPaintLayerPaintingInfo* localPaintingInfo, const LayoutPoint& fragment Offset, PaintLayerFlags, BorderRadiusClippingRule = IncludeSelfForBorderRadius);
40 42
41 private: 43 private:
42 44
43 void collectRoundedRectClips(DeprecatedPaintLayer&, const DeprecatedPaintLay erPaintingInfo& localPaintingInfo, GraphicsContext&, const LayoutPoint& fragment Offset, PaintLayerFlags, 45 void collectRoundedRectClips(DeprecatedPaintLayer&, const DeprecatedPaintLay erPaintingInfo& localPaintingInfo, GraphicsContext&, const LayoutPoint& fragment Offset, PaintLayerFlags,
44 BorderRadiusClippingRule, Vector<FloatRoundedRect>& roundedRectClips); 46 BorderRadiusClippingRule, Vector<FloatRoundedRect>& roundedRectClips);
45 47
46 GraphicsContext& m_graphicsContext; 48 GraphicsContext& m_graphicsContext;
47 const LayoutBoxModelObject& m_layoutObject; 49 const LayoutBoxModelObject* m_layoutObject;
48 DisplayItem::Type m_clipType; 50 DisplayItem::Type m_clipType;
51 bool m_engaged;
49 }; 52 };
50 53
51 } // namespace blink 54 } // namespace blink
52 55
53 #endif // LayerClipRecorder_h 56 #endif // LayerClipRecorder_h
OLDNEW
« no previous file with comments | « Source/core/paint/InlineTextBoxPainter.cpp ('k') | Source/core/paint/LayerClipRecorder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698