OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 PaintInvalidator_h | 5 #ifndef PaintInvalidator_h |
6 #define PaintInvalidator_h | 6 #define PaintInvalidator_h |
7 | 7 |
8 #include "platform/geometry/LayoutRect.h" | 8 #include "platform/geometry/LayoutRect.h" |
| 9 #include "platform/graphics/paint/GeometryMapper.h" |
9 #include "wtf/Vector.h" | 10 #include "wtf/Vector.h" |
10 | 11 |
11 namespace blink { | 12 namespace blink { |
12 | 13 |
13 class FrameView; | 14 class FrameView; |
14 class LayoutBoxModelObject; | 15 class LayoutBoxModelObject; |
15 class LayoutObject; | 16 class LayoutObject; |
16 class PaintLayer; | 17 class PaintLayer; |
17 struct PaintPropertyTreeBuilderContext; | 18 struct PaintPropertyTreeBuilderContext; |
18 | 19 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 class PaintInvalidator { | 66 class PaintInvalidator { |
66 public: | 67 public: |
67 void invalidatePaintIfNeeded(FrameView&, PaintInvalidatorContext&); | 68 void invalidatePaintIfNeeded(FrameView&, PaintInvalidatorContext&); |
68 void invalidatePaintIfNeeded(const LayoutObject&, PaintInvalidatorContext&); | 69 void invalidatePaintIfNeeded(const LayoutObject&, PaintInvalidatorContext&); |
69 | 70 |
70 // Process objects needing paint invalidation on the next frame. | 71 // Process objects needing paint invalidation on the next frame. |
71 // See the definition of PaintInvalidationDelayedFull for more details. | 72 // See the definition of PaintInvalidationDelayedFull for more details. |
72 void processPendingDelayedPaintInvalidations(); | 73 void processPendingDelayedPaintInvalidations(); |
73 | 74 |
74 private: | 75 private: |
| 76 LayoutRect mapLocalRectToPaintInvalidationBacking(const LayoutObject&, const
FloatRect&, const PaintInvalidatorContext&); |
| 77 LayoutRect computePaintInvalidationRectInBacking(const LayoutObject&, const
PaintInvalidatorContext&); |
| 78 LayoutPoint computeLocationFromPaintInvalidationBacking(const LayoutObject&,
const PaintInvalidatorContext&); |
| 79 void updatePaintingLayer(const LayoutObject&, PaintInvalidatorContext&); |
| 80 void updateContext(const LayoutObject&, PaintInvalidatorContext&); |
| 81 |
75 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations; | 82 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations; |
| 83 GeometryMapper m_geometryMapper; |
76 }; | 84 }; |
77 | 85 |
78 } // namespace blink | 86 } // namespace blink |
79 | 87 |
80 #endif // PaintInvalidator_h | 88 #endif // PaintInvalidator_h |
OLD | NEW |