1 // Copyright 2012 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 CC_TEST_FAKE_SCROLLBAR_H_ 6 #define CC_TEST_FAKE_SCROLLBAR_H_ 7 8 #include "base/compiler_specific.h" 9 #include "cc/input/scrollbar.h" 10 #include "third_party/skia/include/core/SkColor.h" 11 12 namespace cc { 13 14 class FakeScrollbar : public Scrollbar { 15 public: 16 FakeScrollbar(); 17 FakeScrollbar(bool paint, bool has_thumb, bool is_overlay); 18 virtual ~FakeScrollbar(); 19 20 // Scrollbar implementation. 21 virtual ScrollbarOrientation Orientation() const OVERRIDE; 22 virtual bool IsLeftSideVerticalScrollbar() const OVERRIDE; 23 virtual gfx::Point Location() const OVERRIDE; 24 virtual bool IsOverlay() const OVERRIDE; 25 virtual bool HasThumb() const OVERRIDE; 26 virtual int ThumbThickness() const OVERRIDE; 27 virtual int ThumbLength() const OVERRIDE; 28 virtual gfx::Rect TrackRect() const OVERRIDE; 29 virtual void PaintPart(SkCanvas* canvas, 30 ScrollbarPart part, 31 const gfx::Rect& content_rect) OVERRIDE; 32 33 void set_location(const gfx::Point& location) { location_ = location; } 34 void set_track_rect(const gfx::Rect& track_rect) { track_rect_ = track_rect; } 35 void set_thumb_thickness(int thumb_thickness) { 36 thumb_thickness_ = thumb_thickness; 37 } 38 void set_thumb_length(int thumb_length) { thumb_length_ = thumb_length; } 39 void set_has_thumb(bool has_thumb) { has_thumb_ = has_thumb; } 40 SkColor paint_fill_color() const { return SK_ColorBLACK | fill_color_; } 41 42 private: 43 bool paint_; 44 bool has_thumb_; 45 bool is_overlay_; 46 int thumb_thickness_; 47 int thumb_length_; 48 gfx::Point location_; 49 gfx::Rect track_rect_; 50 SkColor fill_color_; 51 52 DISALLOW_COPY_AND_ASSIGN(FakeScrollbar); 53 }; 54 55 } // namespace cc 56 57 #endif // CC_TEST_FAKE_SCROLLBAR_H_ 58