180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/*
380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2006 The Android Open Source Project
480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru *
580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be
680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file.
780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */
880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#ifndef SkScrollBarView_DEFINED
1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#define SkScrollBarView_DEFINED
1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkView.h"
1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkWidgetViews.h"
1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkAnimator.h"
1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass SkScrollBarView : public SkWidgetView {
1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querupublic:
1980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkScrollBarView();
2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    unsigned getStart() const { return fStartPoint; }
2280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    unsigned getShown() const { return fShownLength; }
2380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    unsigned getTotal() const { return fTotalLength; }
2480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setStart(unsigned start);
2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setShown(unsigned shown);
2780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setTotal(unsigned total);
2880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprotected:
3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    //overrides
3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual void onInflate(const SkDOM& dom, const SkDOM::Node* node);
3280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual void onSizeChange();
3380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual void onDraw(SkCanvas* canvas);
3480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual bool onEvent(const SkEvent& evt);
3580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprivate:
3780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkAnimator  fAnim;
3880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    unsigned    fTotalLength, fStartPoint, fShownLength;
3980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
4080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void adjust();
4180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
4280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    typedef SkWidgetView INHERITED;
4380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
4480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif
45