| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ | 5 #ifndef CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ |
| 6 #define CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ | 6 #define CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ |
| 7 | 7 |
| 8 #include "base/containers/stack_container.h" | 8 #include "base/containers/stack_container.h" |
| 9 #include "cc/base/cc_export.h" | 9 #include "cc/base/cc_export.h" |
| 10 #include "cc/tiles/picture_layer_tiling_set.h" | 10 #include "cc/tiles/picture_layer_tiling_set.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 template <typename TilingIteratorType> | 48 template <typename TilingIteratorType> |
| 49 void AdvanceToNextTile(TilingIteratorType* iterator); | 49 void AdvanceToNextTile(TilingIteratorType* iterator); |
| 50 template <typename TilingIteratorType> | 50 template <typename TilingIteratorType> |
| 51 bool GetFirstTileAndCheckIfValid(TilingIteratorType* iterator); | 51 bool GetFirstTileAndCheckIfValid(TilingIteratorType* iterator); |
| 52 bool IsTileValid(const Tile* tile) const; | 52 bool IsTileValid(const Tile* tile) const; |
| 53 | 53 |
| 54 PrioritizedTile current_tile_; | 54 PrioritizedTile current_tile_; |
| 55 PictureLayerTiling* tiling_; | 55 PictureLayerTiling* tiling_; |
| 56 TilingData* tiling_data_; | 56 TilingData* tiling_data_; |
| 57 PictureLayerTiling::PriorityRectType priority_rect_type_; | 57 PictureLayerTiling::PriorityRectType priority_rect_type_; |
| 58 gfx::Rect pending_visible_rect_; |
| 58 }; | 59 }; |
| 59 | 60 |
| 60 // Iterates over visible rect only, left to right top to bottom order. | 61 // Iterates over visible rect only, left to right top to bottom order. |
| 61 class VisibleTilingIterator : public OnePriorityRectIterator { | 62 class VisibleTilingIterator : public OnePriorityRectIterator { |
| 62 public: | 63 public: |
| 63 VisibleTilingIterator() = default; | 64 VisibleTilingIterator() = default; |
| 64 VisibleTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); | 65 VisibleTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); |
| 65 | 66 |
| 66 VisibleTilingIterator& operator++(); | 67 VisibleTilingIterator& operator++(); |
| 67 | 68 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 84 // Iterates over skewport only, spiral around the visible rect. | 85 // Iterates over skewport only, spiral around the visible rect. |
| 85 class SkewportTilingIterator : public OnePriorityRectIterator { | 86 class SkewportTilingIterator : public OnePriorityRectIterator { |
| 86 public: | 87 public: |
| 87 SkewportTilingIterator() = default; | 88 SkewportTilingIterator() = default; |
| 88 SkewportTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); | 89 SkewportTilingIterator(PictureLayerTiling* tiling, TilingData* tiling_data); |
| 89 | 90 |
| 90 SkewportTilingIterator& operator++(); | 91 SkewportTilingIterator& operator++(); |
| 91 | 92 |
| 92 private: | 93 private: |
| 93 TilingData::SpiralDifferenceIterator iterator_; | 94 TilingData::SpiralDifferenceIterator iterator_; |
| 94 gfx::Rect pending_visible_rect_; | |
| 95 }; | 95 }; |
| 96 | 96 |
| 97 // Iterates over soon border only, spiral around the visible rect. | 97 // Iterates over soon border only, spiral around the visible rect. |
| 98 class SoonBorderTilingIterator : public OnePriorityRectIterator { | 98 class SoonBorderTilingIterator : public OnePriorityRectIterator { |
| 99 public: | 99 public: |
| 100 SoonBorderTilingIterator() = default; | 100 SoonBorderTilingIterator() = default; |
| 101 SoonBorderTilingIterator(PictureLayerTiling* tiling, | 101 SoonBorderTilingIterator(PictureLayerTiling* tiling, |
| 102 TilingData* tiling_data); | 102 TilingData* tiling_data); |
| 103 | 103 |
| 104 SoonBorderTilingIterator& operator++(); | 104 SoonBorderTilingIterator& operator++(); |
| 105 | 105 |
| 106 private: | 106 private: |
| 107 TilingData::SpiralDifferenceIterator iterator_; | 107 TilingData::SpiralDifferenceIterator iterator_; |
| 108 gfx::Rect pending_visible_rect_; | |
| 109 }; | 108 }; |
| 110 | 109 |
| 111 // Iterates over eventually rect only, spiral around the soon rect. | 110 // Iterates over eventually rect only, spiral around the soon rect. |
| 112 class EventuallyTilingIterator : public OnePriorityRectIterator { | 111 class EventuallyTilingIterator : public OnePriorityRectIterator { |
| 113 public: | 112 public: |
| 114 EventuallyTilingIterator() = default; | 113 EventuallyTilingIterator() = default; |
| 115 EventuallyTilingIterator(PictureLayerTiling* tiling, | 114 EventuallyTilingIterator(PictureLayerTiling* tiling, |
| 116 TilingData* tiling_data); | 115 TilingData* tiling_data); |
| 117 | 116 |
| 118 EventuallyTilingIterator& operator++(); | 117 EventuallyTilingIterator& operator++(); |
| 119 | 118 |
| 120 private: | 119 private: |
| 121 TilingData::SpiralDifferenceIterator iterator_; | 120 TilingData::SpiralDifferenceIterator iterator_; |
| 122 gfx::Rect pending_visible_rect_; | |
| 123 }; | 121 }; |
| 124 | 122 |
| 125 // Iterates over all of the above phases in the following order: visible, | 123 // Iterates over all of the above phases in the following order: visible, |
| 126 // skewport, soon border, eventually. | 124 // skewport, soon border, eventually. |
| 127 class TilingIterator { | 125 class TilingIterator { |
| 128 public: | 126 public: |
| 129 TilingIterator(); | 127 TilingIterator(); |
| 130 explicit TilingIterator(PictureLayerTiling* tiling, | 128 explicit TilingIterator(PictureLayerTiling* tiling, |
| 131 TilingData* tiling_data); | 129 TilingData* tiling_data); |
| 132 ~TilingIterator(); | 130 ~TilingIterator(); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 // ideal pending high res. | 189 // ideal pending high res. |
| 192 base::StackVector<IterationStage, 6> stages_; | 190 base::StackVector<IterationStage, 6> stages_; |
| 193 TilingIterator iterators_[NUM_ITERATORS]; | 191 TilingIterator iterators_[NUM_ITERATORS]; |
| 194 | 192 |
| 195 DISALLOW_COPY_AND_ASSIGN(TilingSetRasterQueueAll); | 193 DISALLOW_COPY_AND_ASSIGN(TilingSetRasterQueueAll); |
| 196 }; | 194 }; |
| 197 | 195 |
| 198 } // namespace cc | 196 } // namespace cc |
| 199 | 197 |
| 200 #endif // CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ | 198 #endif // CC_TILES_TILING_SET_RASTER_QUEUE_ALL_H_ |
| OLD | NEW |