// Copyright 2012 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. #ifndef CC_LAYERS_SCROLLBAR_THEME_PAINTER_H_ #define CC_LAYERS_SCROLLBAR_THEME_PAINTER_H_ #include "cc/base/cc_export.h" class SkCanvas; namespace gfx { class Rect; } namespace cc { class CC_EXPORT ScrollbarThemePainter { public: virtual ~ScrollbarThemePainter() {} virtual void PaintScrollbarBackground(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintTrackBackground(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintBackTrackPart(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintForwardTrackPart(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintBackButtonStart(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintBackButtonEnd(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintForwardButtonStart(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintForwardButtonEnd(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintTickmarks(SkCanvas* canvas, const gfx::Rect& rect) = 0; virtual void PaintThumb(SkCanvas* canvas, const gfx::Rect& rect) = 0; }; } // namespace cc #endif // CC_LAYERS_SCROLLBAR_THEME_PAINTER_H_