| Index: cc/resources/tiling_set_raster_queue.h
|
| diff --git a/cc/resources/tiling_set_raster_queue.h b/cc/resources/tiling_set_raster_queue.h
|
| index e3250369fd60fc2055f7ef423a42c107d9df3571..0a131a99bb9492217f24c0a763ff6e4824495674 100644
|
| --- a/cc/resources/tiling_set_raster_queue.h
|
| +++ b/cc/resources/tiling_set_raster_queue.h
|
| @@ -5,91 +5,17 @@
|
| #ifndef CC_RESOURCES_TILING_SET_RASTER_QUEUE_H_
|
| #define CC_RESOURCES_TILING_SET_RASTER_QUEUE_H_
|
|
|
| -#include "cc/base/cc_export.h"
|
| -#include "cc/resources/picture_layer_tiling_set.h"
|
| -#include "cc/resources/tile.h"
|
| -#include "cc/resources/tile_priority.h"
|
| -
|
| namespace cc {
|
| +class Tile;
|
|
|
| -class CC_EXPORT TilingSetRasterQueue {
|
| +class TilingSetRasterQueue {
|
| public:
|
| - TilingSetRasterQueue();
|
| - TilingSetRasterQueue(PictureLayerTilingSet* tiling_set,
|
| - bool prioritize_low_res);
|
| - ~TilingSetRasterQueue();
|
| -
|
| - Tile* Top();
|
| - const Tile* Top() const;
|
| - void Pop();
|
| - bool IsEmpty() const;
|
| -
|
| - private:
|
| - class TilingIterator {
|
| - public:
|
| - TilingIterator();
|
| - explicit TilingIterator(PictureLayerTiling* tiling,
|
| - TilingData* tiling_data);
|
| - ~TilingIterator();
|
| -
|
| - operator bool() const { return !!current_tile_; }
|
| - const Tile* operator*() const { return current_tile_; }
|
| - Tile* operator*() { return current_tile_; }
|
| - TilePriority::PriorityBin type() const {
|
| - switch (phase_) {
|
| - case VISIBLE_RECT:
|
| - return TilePriority::NOW;
|
| - case SKEWPORT_RECT:
|
| - case SOON_BORDER_RECT:
|
| - return TilePriority::SOON;
|
| - case EVENTUALLY_RECT:
|
| - return TilePriority::EVENTUALLY;
|
| - }
|
| - NOTREACHED();
|
| - return TilePriority::EVENTUALLY;
|
| - }
|
| -
|
| - TilingIterator& operator++();
|
| -
|
| - private:
|
| - enum Phase {
|
| - VISIBLE_RECT,
|
| - SKEWPORT_RECT,
|
| - SOON_BORDER_RECT,
|
| - EVENTUALLY_RECT
|
| - };
|
| -
|
| - void AdvancePhase();
|
| - bool TileNeedsRaster(Tile* tile) const {
|
| - return tile->NeedsRaster() && !tiling_->IsTileOccluded(tile);
|
| - }
|
| -
|
| - PictureLayerTiling* tiling_;
|
| - TilingData* tiling_data_;
|
| -
|
| - Phase phase_;
|
| -
|
| - Tile* current_tile_;
|
| - TilingData::Iterator visible_iterator_;
|
| - TilingData::SpiralDifferenceIterator spiral_iterator_;
|
| - };
|
| -
|
| - enum IteratorType { LOW_RES, HIGH_RES, NUM_ITERATORS };
|
| -
|
| - void AdvanceToNextStage();
|
| -
|
| - PictureLayerTilingSet* tiling_set_;
|
| -
|
| - struct IterationStage {
|
| - IteratorType iterator_type;
|
| - TilePriority::PriorityBin tile_type;
|
| - };
|
| -
|
| - size_t current_stage_;
|
| + virtual ~TilingSetRasterQueue() {}
|
|
|
| - // One low res stage, and three high res stages.
|
| - IterationStage stages_[4];
|
| - TilingIterator iterators_[NUM_ITERATORS];
|
| + virtual Tile* Top() = 0;
|
| + virtual const Tile* Top() const = 0;
|
| + virtual void Pop() = 0;
|
| + virtual bool IsEmpty() const = 0;
|
| };
|
|
|
| } // namespace cc
|
|
|