OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 CC_RESOURCES_TILE_MANAGER_H_ | 5 #ifndef CC_RESOURCES_TILE_MANAGER_H_ |
6 #define CC_RESOURCES_TILE_MANAGER_H_ | 6 #define CC_RESOURCES_TILE_MANAGER_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <queue> | 9 #include <queue> |
10 #include <set> | 10 #include <set> |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 virtual scoped_ptr<RasterTilePriorityQueue> BuildRasterQueue( | 63 virtual scoped_ptr<RasterTilePriorityQueue> BuildRasterQueue( |
64 TreePriority tree_priority, | 64 TreePriority tree_priority, |
65 RasterTilePriorityQueue::Type type) = 0; | 65 RasterTilePriorityQueue::Type type) = 0; |
66 | 66 |
67 // Given an empty eviction tile priority queue, this will build a priority | 67 // Given an empty eviction tile priority queue, this will build a priority |
68 // queue that will return tiles in order in which they should be evicted. | 68 // queue that will return tiles in order in which they should be evicted. |
69 // Note if the queue was previous built, Reset must be called on it. | 69 // Note if the queue was previous built, Reset must be called on it. |
70 virtual scoped_ptr<EvictionTilePriorityQueue> BuildEvictionQueue( | 70 virtual scoped_ptr<EvictionTilePriorityQueue> BuildEvictionQueue( |
71 TreePriority tree_priority) = 0; | 71 TreePriority tree_priority) = 0; |
72 | 72 |
| 73 // Informs the client that due to the currently rasterizing (or scheduled to |
| 74 // be rasterized tiles), we will be in a position that likely will require a |
| 75 // draw. This can be used to preemptively start a frame. |
| 76 virtual void SetIsLikelyToRequireADraw(bool is_likely_to_require_a_draw) = 0; |
| 77 |
73 protected: | 78 protected: |
74 virtual ~TileManagerClient() {} | 79 virtual ~TileManagerClient() {} |
75 }; | 80 }; |
76 | 81 |
77 struct RasterTaskCompletionStats { | 82 struct RasterTaskCompletionStats { |
78 RasterTaskCompletionStats(); | 83 RasterTaskCompletionStats(); |
79 | 84 |
80 size_t completed_count; | 85 size_t completed_count; |
81 size_t canceled_count; | 86 size_t canceled_count; |
82 }; | 87 }; |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
311 | 316 |
312 bool did_notify_ready_to_activate_; | 317 bool did_notify_ready_to_activate_; |
313 bool did_notify_ready_to_draw_; | 318 bool did_notify_ready_to_draw_; |
314 | 319 |
315 DISALLOW_COPY_AND_ASSIGN(TileManager); | 320 DISALLOW_COPY_AND_ASSIGN(TileManager); |
316 }; | 321 }; |
317 | 322 |
318 } // namespace cc | 323 } // namespace cc |
319 | 324 |
320 #endif // CC_RESOURCES_TILE_MANAGER_H_ | 325 #endif // CC_RESOURCES_TILE_MANAGER_H_ |
OLD | NEW |