1 // Copyright 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 CC_INPUT_SCROLLBAR_H_
6 #define CC_INPUT_SCROLLBAR_H_
8 #include "cc/base/cc_export.h"
9 #include "ui/gfx/geometry/point.h"
10 #include "ui/gfx/geometry/rect.h"
16 enum ScrollbarOrientation
{ HORIZONTAL
, VERTICAL
};
17 enum ScrollDirection
{ SCROLL_BACKWARD
, SCROLL_FORWARD
};
18 // For now, TRACK includes everything but the thumb including background and
20 enum ScrollbarPart
{ THUMB
, TRACK
};
24 virtual ~Scrollbar() {}
26 virtual ScrollbarOrientation
Orientation() const = 0;
27 virtual bool IsLeftSideVerticalScrollbar() const = 0;
28 virtual gfx::Point
Location() const = 0;
29 virtual bool IsOverlay() const = 0;
30 virtual bool HasThumb() const = 0;
31 virtual int ThumbThickness() const = 0;
32 virtual int ThumbLength() const = 0;
33 virtual gfx::Rect
TrackRect() const = 0;
34 virtual void PaintPart(SkCanvas
* canvas
,
36 const gfx::Rect
& content_rect
) = 0;
41 #endif // CC_INPUT_SCROLLBAR_H_