Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / views / controls / menu / menu_separator.h
bloba0fd2c8170a8f86b67e42f5006f07e0ba91a1ee1
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_VIEWS_CONTROLS_MENU_MENU_SEPARATOR_H_
6 #define UI_VIEWS_CONTROLS_MENU_MENU_SEPARATOR_H_
8 #include "base/compiler_specific.h"
9 #include "ui/base/models/menu_separator_types.h"
10 #include "ui/views/view.h"
12 namespace views {
14 class MenuItemView;
16 class MenuSeparator : public View {
17 public:
18 MenuSeparator(MenuItemView* parent, ui::MenuSeparatorType type)
19 : type_(type),
20 parent_menu_item_(parent) {}
22 // View overrides.
23 void OnPaint(gfx::Canvas* canvas) override;
24 gfx::Size GetPreferredSize() const override;
26 private:
27 // Gets the bounds where the separator should be painted.
28 gfx::Rect GetPaintBounds();
30 void OnPaintAura(gfx::Canvas* canvas);
32 // The type of the separator.
33 const ui::MenuSeparatorType type_;
35 // Our parent.
36 MenuItemView* parent_menu_item_;
38 DISALLOW_COPY_AND_ASSIGN(MenuSeparator);
41 } // namespace views
43 #endif // UI_VIEWS_CONTROLS_MENU_MENU_SEPARATOR_H_