kennedy_scroll_bar.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1// Copyright (c) 2013 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_SCROLLBAR_KENNEDY_SCROLL_BAR_H_
6#define UI_VIEWS_CONTROLS_SCROLLBAR_KENNEDY_SCROLL_BAR_H_
7
8#include "ui/views/controls/scrollbar/base_scroll_bar.h"
9
10namespace views {
11
12// The scrollbar of kennedy style. Transparent track and grey rectangle
13// thumb. Right now it doesn't have the way to share the background,
14// so it will accept the background color instead.
15class VIEWS_EXPORT KennedyScrollBar : public BaseScrollBar {
16 public:
17  explicit KennedyScrollBar(bool horizontal);
18  virtual ~KennedyScrollBar();
19
20 protected:
21  // BaseScrollBar overrides:
22  virtual gfx::Rect GetTrackBounds() const OVERRIDE;
23
24  // ScrollBar overrides:
25  virtual int GetLayoutSize() const OVERRIDE;
26
27  // View overrides:
28  virtual gfx::Size GetPreferredSize() const OVERRIDE;
29  virtual void Layout() OVERRIDE;
30  virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
31
32 private:
33  DISALLOW_COPY_AND_ASSIGN(KennedyScrollBar);
34};
35
36}  // namespace views
37
38#endif  // UI_VIEWS_CONTROLS_SCROLLBAR_KENNEDY_SCROLL_BAR_H_
39