OLD | NEW |
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 SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ | 5 #ifndef SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ |
6 #define SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ | 6 #define SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ |
7 | 7 |
8 #include "sky/engine/core/rendering/ClipRects.h" | 8 #include "sky/engine/core/rendering/ClipRects.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
11 | 11 |
12 enum ClipRectsCacheSlot { | 12 enum ClipRectsCacheSlot { |
13 // Relative to the ancestor treated as the root (e.g. transformed layer). Us
ed for hit testing. | 13 // Relative to the ancestor treated as the root (e.g. transformed layer). Us
ed for hit testing. |
14 RootRelativeClipRects, | 14 RootRelativeClipRects, |
15 | 15 |
16 // Relative to the RenderView's layer. Used for compositing overlap testing. | 16 // Relative to the RenderView's layer. Used for compositing overlap testing. |
17 AbsoluteClipRects, | 17 AbsoluteClipRects, |
18 | 18 |
19 // Relative to painting ancestor. Used for painting. | 19 // Relative to painting ancestor. Used for painting. |
20 PaintingClipRects, | 20 PaintingClipRects, |
21 PaintingClipRectsIgnoringOverflowClip, | |
22 | 21 |
23 NumberOfClipRectsCacheSlots, | 22 NumberOfClipRectsCacheSlots, |
24 UncachedClipRects, | 23 UncachedClipRects, |
25 }; | 24 }; |
26 | 25 |
27 class ClipRectsCache { | 26 class ClipRectsCache { |
28 WTF_MAKE_FAST_ALLOCATED; | 27 WTF_MAKE_FAST_ALLOCATED; |
29 public: | 28 public: |
30 struct Entry { | 29 struct Entry { |
31 Entry() | 30 Entry() |
(...skipping 17 matching lines...) Expand all Loading... |
49 m_entries[slot] = Entry(); | 48 m_entries[slot] = Entry(); |
50 } | 49 } |
51 | 50 |
52 private: | 51 private: |
53 Entry m_entries[NumberOfClipRectsCacheSlots]; | 52 Entry m_entries[NumberOfClipRectsCacheSlots]; |
54 }; | 53 }; |
55 | 54 |
56 } // namespace blink | 55 } // namespace blink |
57 | 56 |
58 #endif // SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ | 57 #endif // SKY_ENGINE_CORE_RENDERING_CLIPRECTSCACHE_H_ |
OLD | NEW |