summaryrefslogtreecommitdiffstats
path: root/cc/test/fake_scrollbar.cc
blob: 7285660f17016fc5be6e56070a40a817d7dfe0e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "cc/test/fake_scrollbar.h"

#include "third_party/skia/include/core/SkCanvas.h"

namespace cc {

FakeScrollbar::FakeScrollbar()
    : paint_(false),
      has_thumb_(false),
      is_overlay_(false),
      thumb_thickness_(10),
      thumb_length_(5),
      track_rect_(0, 0, 100, 10),
      fill_color_(SK_ColorGREEN) {}

FakeScrollbar::FakeScrollbar(bool paint, bool has_thumb, bool is_overlay)
    : paint_(paint),
      has_thumb_(has_thumb),
      is_overlay_(is_overlay),
      thumb_thickness_(10),
      thumb_length_(5),
      track_rect_(0, 0, 100, 10),
      fill_color_(SK_ColorGREEN) {}

FakeScrollbar::~FakeScrollbar() {}

ScrollbarOrientation FakeScrollbar::Orientation() const {
  return HORIZONTAL;
}

bool FakeScrollbar::IsLeftSideVerticalScrollbar() const {
  return false;
}

gfx::Point FakeScrollbar::Location() const { return location_; }

bool FakeScrollbar::IsOverlay() const { return is_overlay_; }

bool FakeScrollbar::HasThumb() const { return has_thumb_; }

int FakeScrollbar::ThumbThickness() const {
  return thumb_thickness_;
}

int FakeScrollbar::ThumbLength() const {
  return thumb_length_;
}

gfx::Rect FakeScrollbar::TrackRect() const {
  return track_rect_;
}

void FakeScrollbar::PaintPart(SkCanvas* canvas,
                             ScrollbarPart part,
                             const gfx::Rect& content_rect) {
  if (!paint_)
    return;

  // Fill the scrollbar with a different color each time.
  fill_color_++;
  canvas->clear(SK_ColorBLACK | fill_color_);
}

}  // namespace cc