Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: ui/views/controls/menu/menu_item_view.cc

Issue 25144002: views: Make sure menu checks and submenu arrows have high contrast even when selected. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/views/controls/menu/menu_image_util.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_item_view.h" 5 #include "ui/views/controls/menu/menu_item_view.h"
6 6
7 #include "base/i18n/case_conversion.h" 7 #include "base/i18n/case_conversion.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "grit/ui_resources.h" 10 #include "grit/ui_resources.h"
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 815
816 native_theme->Paint(canvas->sk_canvas(), 816 native_theme->Paint(canvas->sk_canvas(),
817 ui::NativeTheme::kMenuItemBackground, 817 ui::NativeTheme::kMenuItemBackground,
818 ui::NativeTheme::kHovered, 818 ui::NativeTheme::kHovered,
819 item_bounds, 819 item_bounds,
820 ui::NativeTheme::ExtraParams()); 820 ui::NativeTheme::ExtraParams());
821 } 821 }
822 822
823 // Render the check. 823 // Render the check.
824 if (type_ == CHECKBOX && delegate->IsItemChecked(GetCommand())) { 824 if (type_ == CHECKBOX && delegate->IsItemChecked(GetCommand())) {
825 const gfx::ImageSkia* check = GetMenuCheckImage(); 825 gfx::ImageSkia check = GetMenuCheckImage(IsSelected());
826 // Don't use config.check_width here as it's padded 826 // Don't use config.check_width here as it's padded
827 // to force more padding (AURA). 827 // to force more padding (AURA).
828 gfx::Rect check_bounds(icon_x, icon_y, check->width(), icon_height); 828 gfx::Rect check_bounds(icon_x, icon_y, check.width(), icon_height);
829 AdjustBoundsForRTLUI(&check_bounds); 829 AdjustBoundsForRTLUI(&check_bounds);
830 canvas->DrawImageInt(*check, check_bounds.x(), check_bounds.y()); 830 canvas->DrawImageInt(check, check_bounds.x(), check_bounds.y());
831 } else if (type_ == RADIO) { 831 } else if (type_ == RADIO) {
832 const gfx::ImageSkia* image = 832 gfx::ImageSkia image =
833 GetRadioButtonImage(delegate->IsItemChecked(GetCommand())); 833 GetRadioButtonImage(delegate->IsItemChecked(GetCommand()));
834 gfx::Rect radio_bounds(icon_x, 834 gfx::Rect radio_bounds(icon_x,
835 top_margin + 835 top_margin +
836 (height() - top_margin - bottom_margin - 836 (height() - top_margin - bottom_margin -
837 image->height()) / 2, 837 image.height()) / 2,
838 image->width(), 838 image.width(),
839 image->height()); 839 image.height());
840 AdjustBoundsForRTLUI(&radio_bounds); 840 AdjustBoundsForRTLUI(&radio_bounds);
841 canvas->DrawImageInt(*image, radio_bounds.x(), radio_bounds.y()); 841 canvas->DrawImageInt(image, radio_bounds.x(), radio_bounds.y());
842 } 842 }
843 843
844 // Render the foreground. 844 // Render the foreground.
845 ui::NativeTheme::ColorId color_id = 845 ui::NativeTheme::ColorId color_id =
846 ui::NativeTheme::kColorId_DisabledMenuItemForegroundColor; 846 ui::NativeTheme::kColorId_DisabledMenuItemForegroundColor;
847 if (enabled()) { 847 if (enabled()) {
848 color_id = render_selection ? 848 color_id = render_selection ?
849 ui::NativeTheme::kColorId_SelectedMenuItemForegroundColor: 849 ui::NativeTheme::kColorId_SelectedMenuItemForegroundColor:
850 ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor; 850 ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor;
851 } 851 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 PaintMinorText(canvas, render_selection); 890 PaintMinorText(canvas, render_selection);
891 891
892 // Render the submenu indicator (arrow). 892 // Render the submenu indicator (arrow).
893 if (HasSubmenu()) { 893 if (HasSubmenu()) {
894 gfx::Rect arrow_bounds(this->width() - config.arrow_width - 894 gfx::Rect arrow_bounds(this->width() - config.arrow_width -
895 config.arrow_to_edge_padding, 895 config.arrow_to_edge_padding,
896 top_margin + (available_height - 896 top_margin + (available_height -
897 config.arrow_width) / 2, 897 config.arrow_width) / 2,
898 config.arrow_width, height()); 898 config.arrow_width, height());
899 AdjustBoundsForRTLUI(&arrow_bounds); 899 AdjustBoundsForRTLUI(&arrow_bounds);
900 canvas->DrawImageInt(*GetSubmenuArrowImage(), 900 canvas->DrawImageInt(GetSubmenuArrowImage(IsSelected()),
901 arrow_bounds.x(), arrow_bounds.y()); 901 arrow_bounds.x(), arrow_bounds.y());
902 } 902 }
903 } 903 }
904 904
905 void MenuItemView::PaintMinorText(gfx::Canvas* canvas, 905 void MenuItemView::PaintMinorText(gfx::Canvas* canvas,
906 bool render_selection) { 906 bool render_selection) {
907 string16 minor_text = GetMinorText(); 907 string16 minor_text = GetMinorText();
908 if (minor_text.empty()) 908 if (minor_text.empty())
909 return; 909 return;
910 910
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1110 } else { 1110 } else {
1111 const Type& type = menu_item->GetType(); 1111 const Type& type = menu_item->GetType();
1112 if (type == CHECKBOX || type == RADIO) 1112 if (type == CHECKBOX || type == RADIO)
1113 return true; 1113 return true;
1114 } 1114 }
1115 } 1115 }
1116 return false; 1116 return false;
1117 } 1117 }
1118 1118
1119 } // namespace views 1119 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/controls/menu/menu_image_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698