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
3 // found in the LICENSE file.
5 #ifndef CC_TILES_RASTER_TILE_PRIORITY_QUEUE_ALL_H_
6 #define CC_TILES_RASTER_TILE_PRIORITY_QUEUE_ALL_H_
12 #include "cc/base/cc_export.h"
13 #include "cc/layers/picture_layer_impl.h"
14 #include "cc/tiles/raster_tile_priority_queue.h"
15 #include "cc/tiles/tile_priority.h"
16 #include "cc/tiles/tiling_set_raster_queue_all.h"
20 class CC_EXPORT RasterTilePriorityQueueAll
: public RasterTilePriorityQueue
{
22 RasterTilePriorityQueueAll();
23 ~RasterTilePriorityQueueAll() override
;
25 bool IsEmpty() const override
;
26 const PrioritizedTile
& Top() const override
;
30 friend class RasterTilePriorityQueue
;
32 void Build(const std::vector
<PictureLayerImpl
*>& active_layers
,
33 const std::vector
<PictureLayerImpl
*>& pending_layers
,
34 TreePriority tree_priority
);
36 ScopedPtrVector
<TilingSetRasterQueueAll
>& GetNextQueues();
37 const ScopedPtrVector
<TilingSetRasterQueueAll
>& GetNextQueues() const;
39 ScopedPtrVector
<TilingSetRasterQueueAll
> active_queues_
;
40 ScopedPtrVector
<TilingSetRasterQueueAll
> pending_queues_
;
41 TreePriority tree_priority_
;
43 DISALLOW_COPY_AND_ASSIGN(RasterTilePriorityQueueAll
);
48 #endif // CC_TILES_RASTER_TILE_PRIORITY_QUEUE_ALL_H_