Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / fake_scrollbar.h
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_