Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / views / controls / scrollbar / kennedy_scroll_bar.h
blobcb13732862f7dc4e485fe6e5a7485f3b005ead93
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.
5 #ifndef UI_VIEWS_CONTROLS_SCROLLBAR_KENNEDY_SCROLL_BAR_H_
6 #define UI_VIEWS_CONTROLS_SCROLLBAR_KENNEDY_SCROLL_BAR_H_
8 #include "ui/views/controls/scrollbar/base_scroll_bar.h"
10 namespace views {
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.
15 class VIEWS_EXPORT KennedyScrollBar : public BaseScrollBar {
16 public:
17 explicit KennedyScrollBar(bool horizontal);
18 ~KennedyScrollBar() override;
20 protected:
21 // BaseScrollBar overrides:
22 gfx::Rect GetTrackBounds() const override;
24 // ScrollBar overrides:
25 int GetLayoutSize() const override;
27 // View overrides:
28 gfx::Size GetPreferredSize() const override;
29 void Layout() override;
30 void OnPaint(gfx::Canvas* canvas) override;
32 private:
33 DISALLOW_COPY_AND_ASSIGN(KennedyScrollBar);
36 } // namespace views
38 #endif // UI_VIEWS_CONTROLS_SCROLLBAR_KENNEDY_SCROLL_BAR_H_