summaryrefslogtreecommitdiffstats
path: root/views/controls/menu/menu_item_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/controls/menu/menu_item_view.cc')
-rw-r--r--views/controls/menu/menu_item_view.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/views/controls/menu/menu_item_view.cc b/views/controls/menu/menu_item_view.cc
index 7a6056f..6308b52 100644
--- a/views/controls/menu/menu_item_view.cc
+++ b/views/controls/menu/menu_item_view.cc
@@ -53,9 +53,11 @@ bool MenuItemView::allow_task_nesting_during_run_ = false;
// static
int MenuItemView::label_start_;
+// Margins between the right of the item and the label.
// static
int MenuItemView::item_right_margin_;
+// Preferred height of menu items. Reset every time a menu is run.
// static
int MenuItemView::pref_menu_height_;
@@ -187,6 +189,13 @@ void MenuItemView::Paint(gfx::Canvas* canvas) {
Paint(canvas, false);
}
+gfx::Size MenuItemView::GetPreferredSize() {
+ const gfx::Font& font = MenuConfig::instance().font;
+ return gfx::Size(
+ font.GetStringWidth(title_) + label_start_ + item_right_margin_,
+ font.height() + GetBottomMargin() + GetTopMargin());
+}
+
MenuController* MenuItemView::GetMenuController() {
return GetRootMenuItem()->controller_;
}