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

Side by Side Diff: Source/core/layout/PaintInvalidationState.h

Issue 945803004: Merge back LayoutLayerModelObject into RenderBoxModelObject (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Better rebasing. 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/PaintInfo.h ('k') | Source/core/layout/PaintInvalidationState.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 PaintInvalidationState_h 5 #ifndef PaintInvalidationState_h
6 #define PaintInvalidationState_h 6 #define PaintInvalidationState_h
7 7
8 #include "platform/geometry/LayoutRect.h" 8 #include "platform/geometry/LayoutRect.h"
9 #include "platform/transforms/AffineTransform.h" 9 #include "platform/transforms/AffineTransform.h"
10 #include "wtf/Noncopyable.h" 10 #include "wtf/Noncopyable.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class LayoutLayerModelObject; 14 class LayoutBoxModelObject;
15 class LayoutObject; 15 class LayoutObject;
16 class LayoutSVGModelObject; 16 class LayoutSVGModelObject;
17 class RenderView; 17 class RenderView;
18 18
19 class PaintInvalidationState { 19 class PaintInvalidationState {
20 WTF_MAKE_NONCOPYABLE(PaintInvalidationState); 20 WTF_MAKE_NONCOPYABLE(PaintInvalidationState);
21 public: 21 public:
22 PaintInvalidationState(const PaintInvalidationState& next, LayoutLayerModelO bject& renderer, const LayoutLayerModelObject& paintInvalidationContainer); 22 PaintInvalidationState(const PaintInvalidationState& next, LayoutBoxModelObj ect& renderer, const LayoutBoxModelObject& paintInvalidationContainer);
23 PaintInvalidationState(const PaintInvalidationState& next, const LayoutSVGMo delObject& renderer); 23 PaintInvalidationState(const PaintInvalidationState& next, const LayoutSVGMo delObject& renderer);
24 24
25 explicit PaintInvalidationState(const RenderView&); 25 explicit PaintInvalidationState(const RenderView&);
26 26
27 const LayoutRect& clipRect() const { return m_clipRect; } 27 const LayoutRect& clipRect() const { return m_clipRect; }
28 const LayoutSize& paintOffset() const { return m_paintOffset; } 28 const LayoutSize& paintOffset() const { return m_paintOffset; }
29 const AffineTransform& svgTransform() const { ASSERT(m_svgTransform); return *m_svgTransform; } 29 const AffineTransform& svgTransform() const { ASSERT(m_svgTransform); return *m_svgTransform; }
30 30
31 bool cachedOffsetsEnabled() const { return m_cachedOffsetsEnabled; } 31 bool cachedOffsetsEnabled() const { return m_cachedOffsetsEnabled; }
32 bool isClipped() const { return m_clipped; } 32 bool isClipped() const { return m_clipped; }
33 33
34 bool forceCheckForPaintInvalidation() const { return m_forceCheckForPaintInv alidation; } 34 bool forceCheckForPaintInvalidation() const { return m_forceCheckForPaintInv alidation; }
35 void setForceCheckForPaintInvalidation() { m_forceCheckForPaintInvalidation = true; } 35 void setForceCheckForPaintInvalidation() { m_forceCheckForPaintInvalidation = true; }
36 36
37 const LayoutLayerModelObject& paintInvalidationContainer() const { return m_ paintInvalidationContainer; } 37 const LayoutBoxModelObject& paintInvalidationContainer() const { return m_pa intInvalidationContainer; }
38 38
39 bool canMapToContainer(const LayoutLayerModelObject* container) const 39 bool canMapToContainer(const LayoutBoxModelObject* container) const
40 { 40 {
41 return m_cachedOffsetsEnabled && container == &m_paintInvalidationContai ner; 41 return m_cachedOffsetsEnabled && container == &m_paintInvalidationContai ner;
42 } 42 }
43 private: 43 private:
44 void applyClipIfNeeded(const LayoutObject&); 44 void applyClipIfNeeded(const LayoutObject&);
45 void addClipRectRelativeToPaintOffset(const LayoutSize& clipSize); 45 void addClipRectRelativeToPaintOffset(const LayoutSize& clipSize);
46 46
47 friend class ForceHorriblySlowRectMapping; 47 friend class ForceHorriblySlowRectMapping;
48 48
49 bool m_clipped; 49 bool m_clipped;
50 mutable bool m_cachedOffsetsEnabled; 50 mutable bool m_cachedOffsetsEnabled;
51 bool m_forceCheckForPaintInvalidation; 51 bool m_forceCheckForPaintInvalidation;
52 52
53 LayoutRect m_clipRect; 53 LayoutRect m_clipRect;
54 54
55 // x/y offset from paint invalidation container. Includes relative positioni ng and scroll offsets. 55 // x/y offset from paint invalidation container. Includes relative positioni ng and scroll offsets.
56 LayoutSize m_paintOffset; 56 LayoutSize m_paintOffset;
57 57
58 const LayoutLayerModelObject& m_paintInvalidationContainer; 58 const LayoutBoxModelObject& m_paintInvalidationContainer;
59 59
60 // Transform from the initial viewport coordinate system of an outermost 60 // Transform from the initial viewport coordinate system of an outermost
61 // SVG root to the userspace _before_ the relevant element. Combining this 61 // SVG root to the userspace _before_ the relevant element. Combining this
62 // with |m_paintOffset| yields the "final" offset. 62 // with |m_paintOffset| yields the "final" offset.
63 OwnPtr<AffineTransform> m_svgTransform; 63 OwnPtr<AffineTransform> m_svgTransform;
64 }; 64 };
65 65
66 } // namespace blink 66 } // namespace blink
67 67
68 #endif // PaintInvalidationState_h 68 #endif // PaintInvalidationState_h
OLDNEW
« no previous file with comments | « Source/core/layout/PaintInfo.h ('k') | Source/core/layout/PaintInvalidationState.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698