Chromium Code Reviews| Index: ui/gfx/shadow_value.cc |
| diff --git a/ui/gfx/shadow_value.cc b/ui/gfx/shadow_value.cc |
| index 2599fdbe446cd4089540533ed7477f4170190a0a..94a41b2e66496716c24c6c60d3635abd757e2606 100644 |
| --- a/ui/gfx/shadow_value.cc |
| +++ b/ui/gfx/shadow_value.cc |
| @@ -14,6 +14,31 @@ |
| namespace gfx { |
| +namespace { |
| + |
| +Insets GetInsets(const ShadowValues& shadows, bool include_inner_blur) { |
| + int left = 0; |
| + int top = 0; |
| + int right = 0; |
| + int bottom = 0; |
| + |
| + for (size_t i = 0; i < shadows.size(); ++i) { |
| + const ShadowValue& shadow = shadows[i]; |
| + |
| + // Add 0.5 to round up to the next integer. |
| + int blur = |
|
James Cook
2016/12/05 23:38:35
nit: this might be clearer as
int blur = include_
Evan Stade
2016/12/06 00:53:21
re-arranged
|
| + static_cast<int>(shadow.blur() / (include_inner_blur ? 1 : 2) + 0.5); |
|
James Cook
2016/12/05 23:38:35
optional: Style guide is now OK with int{blah} for
Evan Stade
2016/12/06 00:53:21
Done.
Evan Stade
2016/12/07 01:56:42
Windows didn't like it --- cast from double to int
|
| + |
| + left = std::max(left, blur - shadow.x()); |
| + top = std::max(top, blur - shadow.y()); |
| + right = std::max(right, blur + shadow.x()); |
| + bottom = std::max(bottom, blur + shadow.y()); |
| + } |
| + |
| + return Insets(top, left, bottom, right); |
| +} |
| +} |
| + |
| ShadowValue::ShadowValue() |
| : blur_(0), |
| color_(0) { |
| @@ -47,24 +72,13 @@ std::string ShadowValue::ToString() const { |
| // static |
| Insets ShadowValue::GetMargin(const ShadowValues& shadows) { |
| - int left = 0; |
| - int top = 0; |
| - int right = 0; |
| - int bottom = 0; |
| - |
| - for (size_t i = 0; i < shadows.size(); ++i) { |
| - const ShadowValue& shadow = shadows[i]; |
| - |
| - // Add 0.5 to round up to the next integer. |
| - int blur = static_cast<int>(shadow.blur() / 2 + 0.5); |
| - |
| - left = std::max(left, blur - shadow.x()); |
| - top = std::max(top, blur - shadow.y()); |
| - right = std::max(right, blur + shadow.x()); |
| - bottom = std::max(bottom, blur + shadow.y()); |
| - } |
| + gfx::Insets margins = GetInsets(shadows, false); |
| + return -margins; |
| +} |
| - return Insets(-top, -left, -bottom, -right); |
| +// static |
| +Insets ShadowValue::GetBlurRegion(const ShadowValues& shadows) { |
| + return GetInsets(shadows, true); |
| } |
| } // namespace gfx |