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 "third_party/skia/include/core/SkPaint.h" | 7 #include "third_party/skia/include/core/SkPaint.h" |
8 #include "third_party/skia/include/core/SkPath.h" | 8 #include "third_party/skia/include/core/SkPath.h" |
9 #include "ui/base/accessibility/accessible_view_state.h" | 9 #include "ui/base/accessibility/accessible_view_state.h" |
10 #include "ui/gfx/canvas.h" | 10 #include "ui/gfx/canvas.h" |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
263 Layout(); | 263 Layout(); |
264 } | 264 } |
265 | 265 |
266 void MenuScrollViewContainer::CreateDefaultBorder() { | 266 void MenuScrollViewContainer::CreateDefaultBorder() { |
267 arrow_location_ = BubbleBorder::NONE; | 267 arrow_location_ = BubbleBorder::NONE; |
268 bubble_border_ = NULL; | 268 bubble_border_ = NULL; |
269 | 269 |
270 const MenuConfig& menu_config = | 270 const MenuConfig& menu_config = |
271 content_view_->GetMenuItem()->GetMenuConfig(); | 271 content_view_->GetMenuItem()->GetMenuConfig(); |
272 | 272 |
273 #if defined(OS_CHROMEOS) | |
sky
2013/02/13 00:06:53
This should be based on whether the NativeTheme is
Mr4D (OOO till 08-26)
2013/02/13 00:34:15
Okay, I looked at the NativeThemeAura as requested
| |
274 // On ChromeOS the border gets drawn with the shadow. Furthermore no | |
275 // additional padding is wanted. | |
276 set_border(Border::CreateEmptyBorder( | |
277 menu_config.menu_vertical_border_size, | |
278 menu_config.menu_horizontal_border_size, | |
279 menu_config.menu_vertical_border_size, | |
280 menu_config.menu_horizontal_border_size)); | |
281 #else | |
273 int padding = menu_config.corner_radius > 0 ? | 282 int padding = menu_config.corner_radius > 0 ? |
274 kBorderPaddingDueToRoundedCorners : 0; | 283 kBorderPaddingDueToRoundedCorners : 0; |
284 | |
275 int top = menu_config.menu_vertical_border_size + padding; | 285 int top = menu_config.menu_vertical_border_size + padding; |
276 int left = menu_config.menu_horizontal_border_size + padding; | 286 int left = menu_config.menu_horizontal_border_size + padding; |
277 int bottom = menu_config.menu_vertical_border_size + padding; | 287 int bottom = menu_config.menu_vertical_border_size + padding; |
278 int right = menu_config.menu_horizontal_border_size + padding; | 288 int right = menu_config.menu_horizontal_border_size + padding; |
279 | 289 |
280 if (NativeTheme::IsNewMenuStyleEnabled()) { | 290 if (NativeTheme::IsNewMenuStyleEnabled()) { |
281 set_border(views::Border::CreateBorderPainter( | 291 set_border(views::Border::CreateBorderPainter( |
282 new views::RoundRectPainter(menu_config.native_theme->GetSystemColor( | 292 new views::RoundRectPainter(menu_config.native_theme->GetSystemColor( |
283 ui::NativeTheme::kColorId_MenuBorderColor), | 293 ui::NativeTheme::kColorId_MenuBorderColor), |
284 menu_config.corner_radius), | 294 menu_config.corner_radius), |
285 gfx::Insets(top, left, bottom, right))); | 295 gfx::Insets(top, left, bottom, right))); |
286 } else { | 296 } else { |
287 set_border(Border::CreateEmptyBorder(top, left, bottom, right)); | 297 set_border(Border::CreateEmptyBorder(top, left, bottom, right)); |
288 } | 298 } |
299 #endif | |
289 } | 300 } |
290 | 301 |
291 void MenuScrollViewContainer::CreateBubbleBorder() { | 302 void MenuScrollViewContainer::CreateBubbleBorder() { |
292 bubble_border_ = | 303 bubble_border_ = |
293 new BubbleBorder(arrow_location_, BubbleBorder::NO_SHADOW, SK_ColorWHITE); | 304 new BubbleBorder(arrow_location_, BubbleBorder::NO_SHADOW, SK_ColorWHITE); |
294 set_border(bubble_border_); | 305 set_border(bubble_border_); |
295 set_background(new BubbleBackground(bubble_border_)); | 306 set_background(new BubbleBackground(bubble_border_)); |
296 } | 307 } |
297 | 308 |
298 BubbleBorder::ArrowLocation | 309 BubbleBorder::ArrowLocation |
299 MenuScrollViewContainer::BubbleBorderTypeFromAnchor( | 310 MenuScrollViewContainer::BubbleBorderTypeFromAnchor( |
300 MenuItemView::AnchorPosition anchor) { | 311 MenuItemView::AnchorPosition anchor) { |
301 switch (anchor) { | 312 switch (anchor) { |
302 case views::MenuItemView::BUBBLE_LEFT: | 313 case views::MenuItemView::BUBBLE_LEFT: |
303 return BubbleBorder::RIGHT_CENTER; | 314 return BubbleBorder::RIGHT_CENTER; |
304 case views::MenuItemView::BUBBLE_RIGHT: | 315 case views::MenuItemView::BUBBLE_RIGHT: |
305 return BubbleBorder::LEFT_CENTER; | 316 return BubbleBorder::LEFT_CENTER; |
306 case views::MenuItemView::BUBBLE_ABOVE: | 317 case views::MenuItemView::BUBBLE_ABOVE: |
307 return BubbleBorder::BOTTOM_CENTER; | 318 return BubbleBorder::BOTTOM_CENTER; |
308 case views::MenuItemView::BUBBLE_BELOW: | 319 case views::MenuItemView::BUBBLE_BELOW: |
309 return BubbleBorder::TOP_CENTER; | 320 return BubbleBorder::TOP_CENTER; |
310 default: | 321 default: |
311 return BubbleBorder::NONE; | 322 return BubbleBorder::NONE; |
312 } | 323 } |
313 } | 324 } |
314 | 325 |
315 } // namespace views | 326 } // namespace views |
OLD | NEW |