blob: 110d0e12f0826a6f3ad7e1f7403efff3121b5aeb [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
reed@android.com8a1c16f2008-12-17 15:59:43 +00002/*
epoger@google.comec3ed6a2011-07-28 14:26:00 +00003 * Copyright 2006 The Android Open Source Project
reed@android.com8a1c16f2008-12-17 15:59:43 +00004 *
epoger@google.comec3ed6a2011-07-28 14:26:00 +00005 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
reed@android.com8a1c16f2008-12-17 15:59:43 +00007 */
8
epoger@google.comec3ed6a2011-07-28 14:26:00 +00009
reed@android.com8a1c16f2008-12-17 15:59:43 +000010#ifndef SkScrollBarView_DEFINED
11#define SkScrollBarView_DEFINED
12
13#include "SkView.h"
14#include "SkWidgetViews.h"
15#include "SkAnimator.h"
16
17class SkScrollBarView : public SkWidgetView {
18public:
19 SkScrollBarView();
20
21 unsigned getStart() const { return fStartPoint; }
22 unsigned getShown() const { return fShownLength; }
23 unsigned getTotal() const { return fTotalLength; }
24
25 void setStart(unsigned start);
26 void setShown(unsigned shown);
27 void setTotal(unsigned total);
28
29protected:
30 //overrides
31 virtual void onInflate(const SkDOM& dom, const SkDOM::Node* node);
32 virtual void onSizeChange();
33 virtual void onDraw(SkCanvas* canvas);
34 virtual bool onEvent(const SkEvent& evt);
35
36private:
37 SkAnimator fAnim;
38 unsigned fTotalLength, fStartPoint, fShownLength;
39
40 void adjust();
41
42 typedef SkWidgetView INHERITED;
43};
44#endif
45