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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/PaintChunk.h

Issue 2277443003: [SPv2] Rasterization invalidation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: - Created 4 years, 3 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 PaintChunk_h 5 #ifndef PaintChunk_h
6 #define PaintChunk_h 6 #define PaintChunk_h
7 7
8 #include "platform/geometry/FloatRect.h" 8 #include "platform/geometry/FloatRect.h"
9 #include "platform/graphics/paint/DisplayItem.h" 9 #include "platform/graphics/paint/DisplayItem.h"
10 #include "platform/graphics/paint/PaintChunkProperties.h" 10 #include "platform/graphics/paint/PaintChunkProperties.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 // contents, so the id should be stable across document cycles. 66 // contents, so the id should be stable across document cycles.
67 // If the contents of the chunk can't be cached (e.g. it's created when Pain tController 67 // If the contents of the chunk can't be cached (e.g. it's created when Pain tController
68 // is skipping cache, normally because display items can't be uniquely ident ified), 68 // is skipping cache, normally because display items can't be uniquely ident ified),
69 // id is nullopt so that the chunk won't match any other chunk. 69 // id is nullopt so that the chunk won't match any other chunk.
70 using Id = DisplayItem::Id; 70 using Id = DisplayItem::Id;
71 Optional<Id> id; 71 Optional<Id> id;
72 72
73 // The paint properties which apply to this chunk. 73 // The paint properties which apply to this chunk.
74 PaintChunkProperties properties; 74 PaintChunkProperties properties;
75 75
76 // The total bounds of this paint chunk's contents. 76 // The total bounds of this paint chunk's contents, in coordinate space of
chrishtr 2016/08/26 18:10:51 nit: "in the coordinate space..." Also, no need t
Xianzhu 2016/08/26 18:39:23 Done.
77 // the containing GraphicsLayer (SPv1) or the containing transformation node (SPv2).
77 FloatRect bounds; 78 FloatRect bounds;
78 79
79 // True if the bounds are filled entirely with opaque contents. 80 // True if the bounds are filled entirely with opaque contents.
80 bool knownToBeOpaque; 81 bool knownToBeOpaque;
82
83 // SPv2 only. Rectangles that need to be rerasterized in this chunk, in coor dinate
chrishtr 2016/08/26 18:10:51 nit: "re-rasterized" "in the coordinate space..."
Xianzhu 2016/08/26 18:39:23 Done.
84 // space of the containing transformation node.
85 Vector<FloatRect> rasterInvalidationRects;
81 }; 86 };
82 87
83 inline bool operator==(const PaintChunk& a, const PaintChunk& b) 88 inline bool operator==(const PaintChunk& a, const PaintChunk& b)
84 { 89 {
85 return a.beginIndex == b.beginIndex 90 return a.beginIndex == b.beginIndex
86 && a.endIndex == b.endIndex 91 && a.endIndex == b.endIndex
87 && a.id == b.id 92 && a.id == b.id
88 && a.properties == b.properties 93 && a.properties == b.properties
89 && a.bounds == b.bounds 94 && a.bounds == b.bounds
90 && a.knownToBeOpaque == b.knownToBeOpaque; 95 && a.knownToBeOpaque == b.knownToBeOpaque
96 && a.rasterInvalidationRects == b.rasterInvalidationRects;
91 } 97 }
92 98
93 inline bool operator!=(const PaintChunk& a, const PaintChunk& b) 99 inline bool operator!=(const PaintChunk& a, const PaintChunk& b)
94 { 100 {
95 return !(a == b); 101 return !(a == b);
96 } 102 }
97 103
98 // Redeclared here to avoid ODR issues. 104 // Redeclared here to avoid ODR issues.
99 // See platform/testing/PaintPrinters.h. 105 // See platform/testing/PaintPrinters.h.
100 void PrintTo(const PaintChunk&, std::ostream*); 106 void PrintTo(const PaintChunk&, std::ostream*);
101 107
102 } // namespace blink 108 } // namespace blink
103 109
104 #endif // PaintChunk_h 110 #endif // PaintChunk_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698