Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / tiles / raster_tile_priority_queue_all.h
blob507467f437147f1c5ccd694b339222c52578a7c1
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_
8 #include <set>
9 #include <utility>
10 #include <vector>
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"
18 namespace cc {
20 class CC_EXPORT RasterTilePriorityQueueAll : public RasterTilePriorityQueue {
21 public:
22 RasterTilePriorityQueueAll();
23 ~RasterTilePriorityQueueAll() override;
25 bool IsEmpty() const override;
26 const PrioritizedTile& Top() const override;
27 void Pop() override;
29 private:
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);
46 } // namespace cc
48 #endif // CC_TILES_RASTER_TILE_PRIORITY_QUEUE_ALL_H_