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
3 // found in the LICENSE file.
5 #ifndef CC_TILES_EVICTION_TILE_PRIORITY_QUEUE_H_
6 #define CC_TILES_EVICTION_TILE_PRIORITY_QUEUE_H_
12 #include "cc/base/cc_export.h"
13 #include "cc/layers/picture_layer_impl.h"
14 #include "cc/tiles/tile_priority.h"
15 #include "cc/tiles/tiling_set_eviction_queue.h"
18 class PrioritizedTile
;
20 class CC_EXPORT EvictionTilePriorityQueue
{
22 EvictionTilePriorityQueue();
23 ~EvictionTilePriorityQueue();
25 void Build(const std::vector
<PictureLayerImpl
*>& active_layers
,
26 const std::vector
<PictureLayerImpl
*>& pending_layers
,
27 TreePriority tree_priority
);
30 const PrioritizedTile
& Top() const;
34 ScopedPtrVector
<TilingSetEvictionQueue
>& GetNextQueues();
35 const ScopedPtrVector
<TilingSetEvictionQueue
>& GetNextQueues() const;
37 ScopedPtrVector
<TilingSetEvictionQueue
> active_queues_
;
38 ScopedPtrVector
<TilingSetEvictionQueue
> pending_queues_
;
39 TreePriority tree_priority_
;
41 DISALLOW_COPY_AND_ASSIGN(EvictionTilePriorityQueue
);
46 #endif // CC_TILES_EVICTION_TILE_PRIORITY_QUEUE_H_