scrollbar_theme_painter.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
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_LAYERS_SCROLLBAR_THEME_PAINTER_H_
6#define CC_LAYERS_SCROLLBAR_THEME_PAINTER_H_
7
8#include "cc/base/cc_export.h"
9
10class SkCanvas;
11
12namespace gfx {
13class Rect;
14}
15
16namespace cc {
17
18class CC_EXPORT ScrollbarThemePainter {
19 public:
20  virtual ~ScrollbarThemePainter() {}
21
22  virtual void PaintScrollbarBackground(SkCanvas* canvas, gfx::Rect rect) = 0;
23  virtual void PaintTrackBackground(SkCanvas* canvas, gfx::Rect rect) = 0;
24  virtual void PaintBackTrackPart(SkCanvas* canvas, gfx::Rect rect) = 0;
25  virtual void PaintForwardTrackPart(SkCanvas* canvas, gfx::Rect rect) = 0;
26  virtual void PaintBackButtonStart(SkCanvas* canvas, gfx::Rect rect) = 0;
27  virtual void PaintBackButtonEnd(SkCanvas* canvas, gfx::Rect rect) = 0;
28  virtual void PaintForwardButtonStart(SkCanvas* canvas, gfx::Rect rect) = 0;
29  virtual void PaintForwardButtonEnd(SkCanvas* canvas, gfx::Rect rect) = 0;
30  virtual void PaintTickmarks(SkCanvas* canvas, gfx::Rect rect) = 0;
31  virtual void PaintThumb(SkCanvas* canvas, gfx::Rect rect) = 0;
32};
33
34}  // namespace cc
35
36#endif  // CC_LAYERS_SCROLLBAR_THEME_PAINTER_H_
37