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 10 namespace 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. 15 class 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() 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