OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/tiles/mipmap_util.h" | 5 #include "cc/tiles/mipmap_util.h" |
6 | 6 |
7 namespace cc { | 7 namespace cc { |
8 namespace { | 8 namespace { |
9 // Calculates the size of |axis_base_size| at the given |mip_level| using | 9 // Calculates the size of |axis_base_size| at the given |mip_level| using |
10 // OpenGL rounding rules. | 10 // OpenGL rounding rules. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 return current_mip_level; | 48 return current_mip_level; |
49 } | 49 } |
50 } | 50 } |
51 } | 51 } |
52 | 52 |
53 SkSize MipMapUtil::GetScaleAdjustmentForLevel(const gfx::Size& src_size, | 53 SkSize MipMapUtil::GetScaleAdjustmentForLevel(const gfx::Size& src_size, |
54 int mip_level) { | 54 int mip_level) { |
55 if (src_size.width() == 0 || src_size.height() == 0 || mip_level == -1) | 55 if (src_size.width() == 0 || src_size.height() == 0 || mip_level == -1) |
56 return SkSize::Make(-1, -1); | 56 return SkSize::Make(-1, -1); |
57 | 57 |
58 gfx::Size target_size(ScaleAxisToMipLevel(src_size.width(), mip_level), | 58 gfx::Size target_size = GetSizeForLevel(src_size, mip_level); |
59 ScaleAxisToMipLevel(src_size.height(), mip_level)); | |
60 | 59 |
61 return SkSize::Make( | 60 return SkSize::Make( |
62 static_cast<float>(target_size.width()) / src_size.width(), | 61 static_cast<float>(target_size.width()) / src_size.width(), |
63 static_cast<float>(target_size.height()) / src_size.height()); | 62 static_cast<float>(target_size.height()) / src_size.height()); |
64 } | 63 } |
65 | 64 |
| 65 gfx::Size MipMapUtil::GetSizeForLevel(const gfx::Size& src_size, |
| 66 int mip_level) { |
| 67 if (src_size.width() == 0 || src_size.height() == 0 || mip_level == -1) |
| 68 return gfx::Size(-1, -1); |
| 69 |
| 70 return gfx::Size(ScaleAxisToMipLevel(src_size.width(), mip_level), |
| 71 ScaleAxisToMipLevel(src_size.height(), mip_level)); |
| 72 } |
| 73 |
66 SkSize MipMapUtil::GetScaleAdjustmentForSize(const gfx::Size& src_size, | 74 SkSize MipMapUtil::GetScaleAdjustmentForSize(const gfx::Size& src_size, |
67 const gfx::Size& target_size) { | 75 const gfx::Size& target_size) { |
68 int target_mip_level = GetLevelForSize(src_size, target_size); | 76 int target_mip_level = GetLevelForSize(src_size, target_size); |
69 return GetScaleAdjustmentForLevel(src_size, target_mip_level); | 77 return GetScaleAdjustmentForLevel(src_size, target_mip_level); |
70 } | 78 } |
71 | 79 |
72 } // namespace cc | 80 } // namespace cc |
OLD | NEW |