| 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 #include "cc/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 // We have to allow for a viewport that is outside of the layer bounds in | 503 // We have to allow for a viewport that is outside of the layer bounds in |
| 504 // order to compute tile priorities correctly for offscreen content that | 504 // order to compute tile priorities correctly for offscreen content that |
| 505 // is going to make it on screen. However, we also have to limit the | 505 // is going to make it on screen. However, we also have to limit the |
| 506 // viewport since it can be very large due to screen_space_transforms. As | 506 // viewport since it can be very large due to screen_space_transforms. As |
| 507 // a heuristic, we clip to bounds padded by skewport_extrapolation_limit * | 507 // a heuristic, we clip to bounds padded by skewport_extrapolation_limit * |
| 508 // maximum tiling scale, since this should allow sufficient room for | 508 // maximum tiling scale, since this should allow sufficient room for |
| 509 // skewport calculations. | 509 // skewport calculations. |
| 510 gfx::Rect padded_bounds(bounds()); | 510 gfx::Rect padded_bounds(bounds()); |
| 511 int padding_amount = layer_tree_impl() | 511 int padding_amount = layer_tree_impl() |
| 512 ->settings() | 512 ->settings() |
| 513 .skewport_extrapolation_limit_in_content_pixels * | 513 .skewport_extrapolation_limit_in_screen_pixels * |
| 514 MaximumTilingContentsScale(); | 514 MaximumTilingContentsScale(); |
| 515 padded_bounds.Inset(-padding_amount, -padding_amount); | 515 padded_bounds.Inset(-padding_amount, -padding_amount); |
| 516 visible_rect_in_content_space.Intersect(padded_bounds); | 516 visible_rect_in_content_space.Intersect(padded_bounds); |
| 517 } | 517 } |
| 518 } | 518 } |
| 519 viewport_rect_for_tile_priority_in_content_space_ = | 519 viewport_rect_for_tile_priority_in_content_space_ = |
| 520 visible_rect_in_content_space; | 520 visible_rect_in_content_space; |
| 521 } | 521 } |
| 522 | 522 |
| 523 PictureLayerImpl* PictureLayerImpl::GetPendingOrActiveTwinLayer() const { | 523 PictureLayerImpl* PictureLayerImpl::GetPendingOrActiveTwinLayer() const { |
| (...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1185 } | 1185 } |
| 1186 | 1186 |
| 1187 std::unique_ptr<PictureLayerTilingSet> | 1187 std::unique_ptr<PictureLayerTilingSet> |
| 1188 PictureLayerImpl::CreatePictureLayerTilingSet() { | 1188 PictureLayerImpl::CreatePictureLayerTilingSet() { |
| 1189 const LayerTreeSettings& settings = layer_tree_impl()->settings(); | 1189 const LayerTreeSettings& settings = layer_tree_impl()->settings(); |
| 1190 return PictureLayerTilingSet::Create( | 1190 return PictureLayerTilingSet::Create( |
| 1191 GetTree(), this, settings.tiling_interest_area_padding, | 1191 GetTree(), this, settings.tiling_interest_area_padding, |
| 1192 layer_tree_impl()->use_gpu_rasterization() | 1192 layer_tree_impl()->use_gpu_rasterization() |
| 1193 ? settings.gpu_rasterization_skewport_target_time_in_seconds | 1193 ? settings.gpu_rasterization_skewport_target_time_in_seconds |
| 1194 : settings.skewport_target_time_in_seconds, | 1194 : settings.skewport_target_time_in_seconds, |
| 1195 settings.skewport_extrapolation_limit_in_content_pixels); | 1195 settings.skewport_extrapolation_limit_in_screen_pixels); |
| 1196 } | 1196 } |
| 1197 | 1197 |
| 1198 void PictureLayerImpl::UpdateIdealScales() { | 1198 void PictureLayerImpl::UpdateIdealScales() { |
| 1199 DCHECK(CanHaveTilings()); | 1199 DCHECK(CanHaveTilings()); |
| 1200 | 1200 |
| 1201 float min_contents_scale = MinimumContentsScale(); | 1201 float min_contents_scale = MinimumContentsScale(); |
| 1202 DCHECK_GT(min_contents_scale, 0.f); | 1202 DCHECK_GT(min_contents_scale, 0.f); |
| 1203 | 1203 |
| 1204 ideal_page_scale_ = IsAffectedByPageScale() | 1204 ideal_page_scale_ = IsAffectedByPageScale() |
| 1205 ? layer_tree_impl()->current_page_scale_factor() | 1205 ? layer_tree_impl()->current_page_scale_factor() |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1278 bool PictureLayerImpl::IsOnActiveOrPendingTree() const { | 1278 bool PictureLayerImpl::IsOnActiveOrPendingTree() const { |
| 1279 return !layer_tree_impl()->IsRecycleTree(); | 1279 return !layer_tree_impl()->IsRecycleTree(); |
| 1280 } | 1280 } |
| 1281 | 1281 |
| 1282 bool PictureLayerImpl::HasValidTilePriorities() const { | 1282 bool PictureLayerImpl::HasValidTilePriorities() const { |
| 1283 return IsOnActiveOrPendingTree() && | 1283 return IsOnActiveOrPendingTree() && |
| 1284 is_drawn_render_surface_layer_list_member(); | 1284 is_drawn_render_surface_layer_list_member(); |
| 1285 } | 1285 } |
| 1286 | 1286 |
| 1287 } // namespace cc | 1287 } // namespace cc |
| OLD | NEW |