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