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.
4
5#ifndef UI_VIEWS_CONTROLS_SEPARATOR_H_
6#define UI_VIEWS_CONTROLS_SEPARATOR_H_
7
8#include <string>
9
10#include "ui/views/view.h"
11
12namespace views {
13
14// The Separator class is a view that shows a line used to visually separate
15// other views.
16
17class VIEWS_EXPORT Separator : public View {
18 public:
19  enum Orientation {
20    HORIZONTAL,
21    VERTICAL
22  };
23
24  // The separator's class name.
25  static const char kViewClassName[];
26
27  explicit Separator(Orientation orientation);
28  virtual ~Separator();
29
30  // Overridden from View:
31  virtual gfx::Size GetPreferredSize() const OVERRIDE;
32  virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
33  virtual void Paint(gfx::Canvas* canvas,
34                     const views::CullSet& cull_set) OVERRIDE;
35  virtual const char* GetClassName() const OVERRIDE;
36
37 private:
38  const Orientation orientation_;
39
40  DISALLOW_COPY_AND_ASSIGN(Separator);
41};
42
43}  // namespace views
44
45#endif  // UI_VIEWS_CONTROLS_SEPARATOR_H_
46