Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CC_LAYERS_PICTURE_LAYER_IMPL_H_ | 5 #ifndef CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
| 6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ | 6 #define CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 70 LayerEvictionTileIterator(PictureLayerImpl* layer, | 70 LayerEvictionTileIterator(PictureLayerImpl* layer, |
| 71 TreePriority tree_priority); | 71 TreePriority tree_priority); |
| 72 ~LayerEvictionTileIterator(); | 72 ~LayerEvictionTileIterator(); |
| 73 | 73 |
| 74 Tile* operator*(); | 74 Tile* operator*(); |
| 75 const Tile* operator*() const; | 75 const Tile* operator*() const; |
| 76 LayerEvictionTileIterator& operator++(); | 76 LayerEvictionTileIterator& operator++(); |
| 77 operator bool() const; | 77 operator bool() const; |
| 78 | 78 |
| 79 private: | 79 private: |
| 80 enum RangeType { | |
| 81 HIGHER_THAN_HIGH_RES, | |
| 82 LOWER_THAN_LOW_RES, | |
| 83 BETWEEN_HIGH_AND_LOW_RES, | |
| 84 LOW_RES, | |
| 85 HIGH_RES, | |
| 86 NUM_RANGE_TYPES | |
| 87 }; | |
| 88 struct TilingIterationRange { | |
| 89 int tiling_offset; | |
| 90 int count; | |
| 91 }; | |
| 92 struct IterationStage { | |
| 93 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.
| |
| 94 : tile_type(type), required_for_activation(is_required) {} | |
| 95 | |
| 96 TilePriority::PriorityBin tile_type; | |
| 97 bool required_for_activation; | |
| 98 }; | |
| 99 | |
| 100 void SetEmptyRange(RangeType type); | |
| 101 void SetRange(RangeType type, int start_index, int end_index); | |
| 102 | |
| 103 int GetCurrentTilingIndex(); | |
| 104 void ConstructRanges(); | |
| 105 bool CurrentTilingIndexInRange(); | |
| 80 void AdvanceToNextIterator(); | 106 void AdvanceToNextIterator(); |
| 81 bool IsCorrectType( | 107 bool AdvanceTiling(); |
| 82 PictureLayerTiling::TilingEvictionTileIterator* it) const; | 108 bool AdvanceRange(); |
| 109 bool AdvanceStage(); | |
| 83 | 110 |
| 84 std::vector<PictureLayerTiling::TilingEvictionTileIterator> iterators_; | 111 PictureLayerTiling::TilingEvictionTileIterator iterator_; |
| 85 size_t iterator_index_; | 112 int current_range_offset_; |
| 86 TilePriority::PriorityBin iteration_stage_; | 113 RangeType current_range_type_; |
| 87 bool required_for_activation_; | 114 IterationStage current_stage_; |
| 88 | 115 |
| 116 TilingIterationRange ranges_[NUM_RANGE_TYPES]; | |
| 117 TreePriority tree_priority_; | |
| 89 PictureLayerImpl* layer_; | 118 PictureLayerImpl* layer_; |
| 90 }; | 119 }; |
| 91 | 120 |
| 92 static scoped_ptr<PictureLayerImpl> Create(LayerTreeImpl* tree_impl, int id) { | 121 static scoped_ptr<PictureLayerImpl> Create(LayerTreeImpl* tree_impl, int id) { |
| 93 return make_scoped_ptr(new PictureLayerImpl(tree_impl, id)); | 122 return make_scoped_ptr(new PictureLayerImpl(tree_impl, id)); |
| 94 } | 123 } |
| 95 virtual ~PictureLayerImpl(); | 124 virtual ~PictureLayerImpl(); |
| 96 | 125 |
| 97 // LayerImpl overrides. | 126 // LayerImpl overrides. |
| 98 virtual const char* LayerTypeAsString() const OVERRIDE; | 127 virtual const char* LayerTypeAsString() const OVERRIDE; |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 gfx::Size viewport_size_for_tile_priority_; | 246 gfx::Size viewport_size_for_tile_priority_; |
| 218 gfx::Transform screen_space_transform_for_tile_priority_; | 247 gfx::Transform screen_space_transform_for_tile_priority_; |
| 219 | 248 |
| 220 friend class PictureLayer; | 249 friend class PictureLayer; |
| 221 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); | 250 DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl); |
| 222 }; | 251 }; |
| 223 | 252 |
| 224 } // namespace cc | 253 } // namespace cc |
| 225 | 254 |
| 226 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ | 255 #endif // CC_LAYERS_PICTURE_LAYER_IMPL_H_ |
| OLD | NEW |