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 10 class SkCanvas; 11 12 namespace gfx { 13 class Rect; 14 } 15 16 namespace cc { 17 18 class 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