| 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_TILES_PICTURE_LAYER_TILING_H_ | 5 #ifndef CC_TILES_PICTURE_LAYER_TILING_H_ |
| 6 #define CC_TILES_PICTURE_LAYER_TILING_H_ | 6 #define CC_TILES_PICTURE_LAYER_TILING_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 } | 76 } |
| 77 }; | 77 }; |
| 78 | 78 |
| 79 class CC_EXPORT PictureLayerTiling { | 79 class CC_EXPORT PictureLayerTiling { |
| 80 public: | 80 public: |
| 81 static const int kBorderTexels = 1; | 81 static const int kBorderTexels = 1; |
| 82 | 82 |
| 83 PictureLayerTiling(WhichTree tree, | 83 PictureLayerTiling(WhichTree tree, |
| 84 float contents_scale, | 84 float contents_scale, |
| 85 scoped_refptr<RasterSource> raster_source, | 85 scoped_refptr<RasterSource> raster_source, |
| 86 PictureLayerTilingClient* client); | 86 PictureLayerTilingClient* client, |
| 87 float min_preraster_distance, |
| 88 float max_preraster_distance); |
| 87 ~PictureLayerTiling(); | 89 ~PictureLayerTiling(); |
| 88 | 90 |
| 89 PictureLayerTilingClient* client() const { return client_; } | 91 PictureLayerTilingClient* client() const { return client_; } |
| 90 | 92 |
| 91 void SetRasterSourceAndResize(scoped_refptr<RasterSource> raster_source); | 93 void SetRasterSourceAndResize(scoped_refptr<RasterSource> raster_source); |
| 92 void Invalidate(const Region& layer_invalidation); | 94 void Invalidate(const Region& layer_invalidation); |
| 93 void CreateMissingTilesInLiveTilesRect(); | 95 void CreateMissingTilesInLiveTilesRect(); |
| 94 void TakeTilesAndPropertiesFrom(PictureLayerTiling* pending_twin, | 96 void TakeTilesAndPropertiesFrom(PictureLayerTiling* pending_twin, |
| 95 const Region& layer_invalidation); | 97 const Region& layer_invalidation); |
| 96 | 98 |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 const gfx::Rect& current_eventually_rect() const { | 319 const gfx::Rect& current_eventually_rect() const { |
| 318 return current_eventually_rect_; | 320 return current_eventually_rect_; |
| 319 } | 321 } |
| 320 void RemoveTilesInRegion(const Region& layer_region, bool recreate_tiles); | 322 void RemoveTilesInRegion(const Region& layer_region, bool recreate_tiles); |
| 321 | 323 |
| 322 // Given properties. | 324 // Given properties. |
| 323 const float contents_scale_; | 325 const float contents_scale_; |
| 324 PictureLayerTilingClient* const client_; | 326 PictureLayerTilingClient* const client_; |
| 325 const WhichTree tree_; | 327 const WhichTree tree_; |
| 326 scoped_refptr<RasterSource> raster_source_; | 328 scoped_refptr<RasterSource> raster_source_; |
| 329 const float min_preraster_distance_; |
| 330 const float max_preraster_distance_; |
| 327 TileResolution resolution_; | 331 TileResolution resolution_; |
| 328 bool may_contain_low_resolution_tiles_; | 332 bool may_contain_low_resolution_tiles_; |
| 329 | 333 |
| 330 // Internal data. | 334 // Internal data. |
| 331 TilingData tiling_data_; | 335 TilingData tiling_data_; |
| 332 TileMap tiles_; // It is not legal to have a NULL tile in the tiles_ map. | 336 TileMap tiles_; // It is not legal to have a NULL tile in the tiles_ map. |
| 333 gfx::Rect live_tiles_rect_; | 337 gfx::Rect live_tiles_rect_; |
| 334 | 338 |
| 335 bool can_require_tiles_for_activation_; | 339 bool can_require_tiles_for_activation_; |
| 336 | 340 |
| 337 // Iteration rects in content space. | 341 // Iteration rects in content space. |
| 338 gfx::Rect current_visible_rect_; | 342 gfx::Rect current_visible_rect_; |
| 339 gfx::Rect current_skewport_rect_; | 343 gfx::Rect current_skewport_rect_; |
| 340 gfx::Rect current_soon_border_rect_; | 344 gfx::Rect current_soon_border_rect_; |
| 341 gfx::Rect current_eventually_rect_; | 345 gfx::Rect current_eventually_rect_; |
| 342 // Other properties used for tile iteration and prioritization. | 346 // Other properties used for tile iteration and prioritization. |
| 343 float current_content_to_screen_scale_; | 347 float current_content_to_screen_scale_; |
| 344 Occlusion current_occlusion_in_layer_space_; | 348 Occlusion current_occlusion_in_layer_space_; |
| 349 float max_skewport_extent_; |
| 345 | 350 |
| 346 bool has_visible_rect_tiles_; | 351 bool has_visible_rect_tiles_; |
| 347 bool has_skewport_rect_tiles_; | 352 bool has_skewport_rect_tiles_; |
| 348 bool has_soon_border_rect_tiles_; | 353 bool has_soon_border_rect_tiles_; |
| 349 bool has_eventually_rect_tiles_; | 354 bool has_eventually_rect_tiles_; |
| 350 bool all_tiles_done_; | 355 bool all_tiles_done_; |
| 351 | 356 |
| 352 private: | 357 private: |
| 353 DISALLOW_COPY_AND_ASSIGN(PictureLayerTiling); | 358 DISALLOW_COPY_AND_ASSIGN(PictureLayerTiling); |
| 354 }; | 359 }; |
| 355 | 360 |
| 356 } // namespace cc | 361 } // namespace cc |
| 357 | 362 |
| 358 #endif // CC_TILES_PICTURE_LAYER_TILING_H_ | 363 #endif // CC_TILES_PICTURE_LAYER_TILING_H_ |
| OLD | NEW |