| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "ui/views/controls/menu/menu_scroll_view_container.h" | 5 #include "ui/views/controls/menu/menu_scroll_view_container.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "third_party/skia/include/core/SkPaint.h" | 9 #include "third_party/skia/include/core/SkPaint.h" |
| 10 #include "third_party/skia/include/core/SkPath.h" | 10 #include "third_party/skia/include/core/SkPath.h" |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 void MenuScrollViewContainer::CreateDefaultBorder() { | 276 void MenuScrollViewContainer::CreateDefaultBorder() { |
| 277 DCHECK_EQ(arrow_, BubbleBorder::NONE); | 277 DCHECK_EQ(arrow_, BubbleBorder::NONE); |
| 278 bubble_border_ = nullptr; | 278 bubble_border_ = nullptr; |
| 279 | 279 |
| 280 const MenuConfig& menu_config = MenuConfig::instance(); | 280 const MenuConfig& menu_config = MenuConfig::instance(); |
| 281 | 281 |
| 282 int padding = menu_config.use_outer_border && menu_config.corner_radius > 0 | 282 int padding = menu_config.use_outer_border && menu_config.corner_radius > 0 |
| 283 ? kBorderPaddingDueToRoundedCorners | 283 ? kBorderPaddingDueToRoundedCorners |
| 284 : 0; | 284 : 0; |
| 285 | 285 |
| 286 int top = menu_config.menu_vertical_border_size + padding; | 286 const int vertical_inset = menu_config.menu_vertical_border_size + padding; |
| 287 int left = menu_config.menu_horizontal_border_size + padding; | 287 const int horizontal_inset = |
| 288 int bottom = menu_config.menu_vertical_border_size + padding; | 288 menu_config.menu_horizontal_border_size + padding; |
| 289 int right = menu_config.menu_horizontal_border_size + padding; | |
| 290 | 289 |
| 291 if (menu_config.use_outer_border) { | 290 if (menu_config.use_outer_border) { |
| 292 SkColor color = GetNativeTheme() | 291 SkColor color = GetNativeTheme() |
| 293 ? GetNativeTheme()->GetSystemColor( | 292 ? GetNativeTheme()->GetSystemColor( |
| 294 ui::NativeTheme::kColorId_MenuBorderColor) | 293 ui::NativeTheme::kColorId_MenuBorderColor) |
| 295 : gfx::kPlaceholderColor; | 294 : gfx::kPlaceholderColor; |
| 296 SetBorder(views::Border::CreateBorderPainter( | 295 SetBorder(views::Border::CreateBorderPainter( |
| 297 base::MakeUnique<views::RoundRectPainter>(color, | 296 base::MakeUnique<views::RoundRectPainter>(color, |
| 298 menu_config.corner_radius), | 297 menu_config.corner_radius), |
| 299 gfx::Insets(top, left, bottom, right))); | 298 gfx::Insets(vertical_inset, horizontal_inset))); |
| 300 } else { | 299 } else { |
| 301 SetBorder(Border::CreateEmptyBorder(top, left, bottom, right)); | 300 SetBorder(Border::CreateEmptyBorder(vertical_inset, horizontal_inset, |
| 301 vertical_inset, horizontal_inset)); |
| 302 } | 302 } |
| 303 } | 303 } |
| 304 | 304 |
| 305 void MenuScrollViewContainer::CreateBubbleBorder() { | 305 void MenuScrollViewContainer::CreateBubbleBorder() { |
| 306 bubble_border_ = new BubbleBorder(arrow_, | 306 bubble_border_ = new BubbleBorder(arrow_, |
| 307 BubbleBorder::SMALL_SHADOW, | 307 BubbleBorder::SMALL_SHADOW, |
| 308 SK_ColorWHITE); | 308 SK_ColorWHITE); |
| 309 SetBorder(std::unique_ptr<Border>(bubble_border_)); | 309 SetBorder(std::unique_ptr<Border>(bubble_border_)); |
| 310 set_background(new BubbleBackground(bubble_border_)); | 310 set_background(new BubbleBackground(bubble_border_)); |
| 311 } | 311 } |
| 312 | 312 |
| 313 BubbleBorder::Arrow MenuScrollViewContainer::BubbleBorderTypeFromAnchor( | 313 BubbleBorder::Arrow MenuScrollViewContainer::BubbleBorderTypeFromAnchor( |
| 314 MenuAnchorPosition anchor) { | 314 MenuAnchorPosition anchor) { |
| 315 switch (anchor) { | 315 switch (anchor) { |
| 316 case MENU_ANCHOR_BUBBLE_LEFT: | 316 case MENU_ANCHOR_BUBBLE_LEFT: |
| 317 return BubbleBorder::RIGHT_CENTER; | 317 return BubbleBorder::RIGHT_CENTER; |
| 318 case MENU_ANCHOR_BUBBLE_RIGHT: | 318 case MENU_ANCHOR_BUBBLE_RIGHT: |
| 319 return BubbleBorder::LEFT_CENTER; | 319 return BubbleBorder::LEFT_CENTER; |
| 320 case MENU_ANCHOR_BUBBLE_ABOVE: | 320 case MENU_ANCHOR_BUBBLE_ABOVE: |
| 321 return BubbleBorder::BOTTOM_CENTER; | 321 return BubbleBorder::BOTTOM_CENTER; |
| 322 case MENU_ANCHOR_BUBBLE_BELOW: | 322 case MENU_ANCHOR_BUBBLE_BELOW: |
| 323 return BubbleBorder::TOP_CENTER; | 323 return BubbleBorder::TOP_CENTER; |
| 324 default: | 324 default: |
| 325 return BubbleBorder::NONE; | 325 return BubbleBorder::NONE; |
| 326 } | 326 } |
| 327 } | 327 } |
| 328 | 328 |
| 329 } // namespace views | 329 } // namespace views |
| OLD | NEW |