OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_image_layer_impl.h" | 5 #include "cc/layers/picture_image_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "cc/debug/debug_colors.h" | 9 #include "cc/debug/debug_colors.h" |
10 #include "cc/trees/layer_tree_impl.h" | 10 #include "cc/trees/layer_tree_impl.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 scoped_ptr<LayerImpl> PictureImageLayerImpl::CreateLayerImpl( | 25 scoped_ptr<LayerImpl> PictureImageLayerImpl::CreateLayerImpl( |
26 LayerTreeImpl* tree_impl) { | 26 LayerTreeImpl* tree_impl) { |
27 return PictureImageLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); | 27 return PictureImageLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); |
28 } | 28 } |
29 | 29 |
30 void PictureImageLayerImpl::CalculateContentsScale( | 30 void PictureImageLayerImpl::CalculateContentsScale( |
31 float ideal_contents_scale, | 31 float ideal_contents_scale, |
32 float device_scale_factor, | 32 float device_scale_factor, |
33 float page_scale_factor, | 33 float page_scale_factor, |
| 34 float maximum_animation_contents_scale, |
34 bool animating_transform_to_screen, | 35 bool animating_transform_to_screen, |
35 float* contents_scale_x, | 36 float* contents_scale_x, |
36 float* contents_scale_y, | 37 float* contents_scale_y, |
37 gfx::Size* content_bounds) { | 38 gfx::Size* content_bounds) { |
38 // CalculateRasterContentsScale always returns 1.f, so make that the ideal | 39 // CalculateRasterContentsScale always returns 1.f, so make that the ideal |
39 // scale. | 40 // scale. |
40 ideal_contents_scale = 1.f; | 41 ideal_contents_scale = 1.f; |
41 PictureLayerImpl::CalculateContentsScale(ideal_contents_scale, | 42 PictureLayerImpl::CalculateContentsScale(ideal_contents_scale, |
42 device_scale_factor, | 43 device_scale_factor, |
43 page_scale_factor, | 44 page_scale_factor, |
| 45 maximum_animation_contents_scale, |
44 animating_transform_to_screen, | 46 animating_transform_to_screen, |
45 contents_scale_x, | 47 contents_scale_x, |
46 contents_scale_y, | 48 contents_scale_y, |
47 content_bounds); | 49 content_bounds); |
48 } | 50 } |
49 | 51 |
50 void PictureImageLayerImpl::GetDebugBorderProperties( | 52 void PictureImageLayerImpl::GetDebugBorderProperties( |
51 SkColor* color, float* width) const { | 53 SkColor* color, float* width) const { |
52 *color = DebugColors::ImageLayerBorderColor(); | 54 *color = DebugColors::ImageLayerBorderColor(); |
53 *width = DebugColors::ImageLayerBorderWidth(layer_tree_impl()); | 55 *width = DebugColors::ImageLayerBorderWidth(layer_tree_impl()); |
54 } | 56 } |
55 | 57 |
56 bool PictureImageLayerImpl::ShouldAdjustRasterScale( | 58 bool PictureImageLayerImpl::ShouldAdjustRasterScale( |
57 bool animating_transform_to_screen) const { | 59 bool animating_transform_to_screen) const { |
58 return false; | 60 return false; |
59 } | 61 } |
60 | 62 |
61 void PictureImageLayerImpl::RecalculateRasterScales( | 63 void PictureImageLayerImpl::RecalculateRasterScales( |
62 bool animating_transform_to_screen) { | 64 bool animating_transform_to_screen, |
| 65 float maximum_animation_contents_scale) { |
63 // Defaults from PictureLayerImpl. | 66 // Defaults from PictureLayerImpl. |
64 PictureLayerImpl::RecalculateRasterScales(animating_transform_to_screen); | 67 PictureLayerImpl::RecalculateRasterScales(animating_transform_to_screen, |
| 68 maximum_animation_contents_scale); |
65 | 69 |
66 // Don't scale images during rastering to ensure image quality, save memory | 70 // Don't scale images during rastering to ensure image quality, save memory |
67 // and avoid frequent re-rastering on change of scale. | 71 // and avoid frequent re-rastering on change of scale. |
68 raster_contents_scale_ = std::max(1.f, MinimumContentsScale()); | 72 raster_contents_scale_ = std::max(1.f, MinimumContentsScale()); |
69 // We don't need low res tiles. | 73 // We don't need low res tiles. |
70 low_res_raster_contents_scale_ = raster_contents_scale_; | 74 low_res_raster_contents_scale_ = raster_contents_scale_; |
71 } | 75 } |
72 | 76 |
73 } // namespace cc | 77 } // namespace cc |
OLD | NEW |