Index: cc/layers/picture_layer_impl.h |
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h |
index d49205137510bd9d5f3bc57e89a785d42de65616..d91c3859340e7fb27420a4922c7892c1b0dbae5c 100644 |
--- a/cc/layers/picture_layer_impl.h |
+++ b/cc/layers/picture_layer_impl.h |
@@ -77,15 +77,44 @@ class CC_EXPORT PictureLayerImpl |
operator bool() const; |
private: |
+ enum RangeType { |
+ HIGHER_THAN_HIGH_RES, |
+ LOWER_THAN_LOW_RES, |
+ BETWEEN_HIGH_AND_LOW_RES, |
+ LOW_RES, |
+ HIGH_RES, |
+ NUM_RANGE_TYPES |
+ }; |
+ struct TilingIterationRange { |
+ int tiling_offset; |
+ int count; |
+ }; |
+ struct IterationStage { |
+ IterationStage(TilePriority::PriorityBin type, bool is_required) |
reveman
2014/07/31 15:32:48
style nit: use the same name for ctor arguments an
vmpstr
2014/08/01 06:04:48
This is gone now.
|
+ : tile_type(type), required_for_activation(is_required) {} |
+ |
+ TilePriority::PriorityBin tile_type; |
+ bool required_for_activation; |
+ }; |
+ |
+ void SetEmptyRange(RangeType type); |
+ void SetRange(RangeType type, int start_index, int end_index); |
+ |
+ int GetCurrentTilingIndex(); |
+ void ConstructRanges(); |
+ bool CurrentTilingIndexInRange(); |
void AdvanceToNextIterator(); |
- bool IsCorrectType( |
- PictureLayerTiling::TilingEvictionTileIterator* it) const; |
+ bool AdvanceTiling(); |
+ bool AdvanceRange(); |
+ bool AdvanceStage(); |
- std::vector<PictureLayerTiling::TilingEvictionTileIterator> iterators_; |
- size_t iterator_index_; |
- TilePriority::PriorityBin iteration_stage_; |
- bool required_for_activation_; |
+ PictureLayerTiling::TilingEvictionTileIterator iterator_; |
+ int current_range_offset_; |
+ RangeType current_range_type_; |
+ IterationStage current_stage_; |
+ TilingIterationRange ranges_[NUM_RANGE_TYPES]; |
+ TreePriority tree_priority_; |
PictureLayerImpl* layer_; |
}; |