Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Side by Side Diff: cc/resources/picture_layer_tiling.h

Issue 12259027: cc: Simplify the logic for deciding to update tile priorities. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sper simple x2 Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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_RESOURCES_PICTURE_LAYER_TILING_H_ 5 #ifndef CC_RESOURCES_PICTURE_LAYER_TILING_H_
6 #define CC_RESOURCES_PICTURE_LAYER_TILING_H_ 6 #define CC_RESOURCES_PICTURE_LAYER_TILING_H_
7 7
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 bool store_screen_space_quads_on_tiles, 143 bool store_screen_space_quads_on_tiles,
144 size_t max_tiles_for_interest_area); 144 size_t max_tiles_for_interest_area);
145 145
146 // Copies the src_tree priority into the dst_tree priority for all tiles. 146 // Copies the src_tree priority into the dst_tree priority for all tiles.
147 // The src_tree priority is reset to the lowest priority possible. This 147 // The src_tree priority is reset to the lowest priority possible. This
148 // also updates the pile on each tile to be the current client's pile. 148 // also updates the pile on each tile to be the current client's pile.
149 void DidBecomeActive(); 149 void DidBecomeActive();
150 150
151 scoped_ptr<base::Value> AsValue() const; 151 scoped_ptr<base::Value> AsValue() const;
152 152
153 bool needs_first_time_update_tile_priorities() const {
154 return last_impl_frame_time_ == 0.0;
155 }
156
153 protected: 157 protected:
154 typedef std::pair<int, int> TileMapKey; 158 typedef std::pair<int, int> TileMapKey;
155 typedef base::hash_map<TileMapKey, scoped_refptr<Tile> > TileMap; 159 typedef base::hash_map<TileMapKey, scoped_refptr<Tile> > TileMap;
156 160
157 explicit PictureLayerTiling(float contents_scale); 161 explicit PictureLayerTiling(float contents_scale);
158 Tile* TileAt(int, int) const; 162 Tile* TileAt(int, int) const;
159 void CreateTilesFromContentRect(gfx::Rect layer_rect); 163 void CreateTilesFromContentRect(gfx::Rect layer_rect);
160 void CreateTile(int i, int j); 164 void CreateTile(int i, int j);
161 165
162 PictureLayerTilingClient* client_; 166 PictureLayerTilingClient* client_;
163 float contents_scale_; 167 float contents_scale_;
164 gfx::Size layer_bounds_; 168 gfx::Size layer_bounds_;
165 gfx::Rect last_prioritized_rect_; 169 gfx::Rect last_prioritized_rect_;
166 // It is not legal to have a NULL tile in the tiles_ map. 170 // It is not legal to have a NULL tile in the tiles_ map.
167 TileMap tiles_; 171 TileMap tiles_;
168 TilingData tiling_data_; 172 TilingData tiling_data_;
169 TileResolution resolution_; 173 TileResolution resolution_;
170 int last_source_frame_number_; 174 int last_source_frame_number_;
171 double last_impl_frame_time_; 175 double last_impl_frame_time_;
172 176
173 friend class CoverageIterator; 177 friend class CoverageIterator;
174 178
175 private: 179 private:
176 DISALLOW_ASSIGN(PictureLayerTiling); 180 DISALLOW_ASSIGN(PictureLayerTiling);
177 }; 181 };
178 182
179 } // namespace cc 183 } // namespace cc
180 184
181 #endif // CC_RESOURCES_PICTURE_LAYER_TILING_H_ 185 #endif // CC_RESOURCES_PICTURE_LAYER_TILING_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698