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_REQUIRED_H_
6 #define CC_TILES_RASTER_TILE_PRIORITY_QUEUE_REQUIRED_H_
10 #include "cc/layers/picture_layer_impl.h"
11 #include "cc/tiles/raster_tile_priority_queue.h"
12 #include "cc/tiles/tiling_set_raster_queue_required.h"
15 class PrioritizedTile
;
17 class RasterTilePriorityQueueRequired
: public RasterTilePriorityQueue
{
19 RasterTilePriorityQueueRequired();
20 ~RasterTilePriorityQueueRequired() override
;
22 bool IsEmpty() const override
;
23 const PrioritizedTile
& Top() const override
;
27 friend class RasterTilePriorityQueue
;
29 void Build(const std::vector
<PictureLayerImpl
*>& active_layers
,
30 const std::vector
<PictureLayerImpl
*>& pending_layers
,
32 void BuildRequiredForDraw(
33 const std::vector
<PictureLayerImpl
*>& active_layers
);
34 void BuildRequiredForActivation(
35 const std::vector
<PictureLayerImpl
*>& active_layers
,
36 const std::vector
<PictureLayerImpl
*>& pending_layers
);
38 ScopedPtrVector
<TilingSetRasterQueueRequired
> tiling_set_queues_
;
40 DISALLOW_COPY_AND_ASSIGN(RasterTilePriorityQueueRequired
);
45 #endif // CC_TILES_RASTER_TILE_PRIORITY_QUEUE_REQUIRED_H_