1
2/*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10#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