11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger
20b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger/*
31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project
40b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger *
51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be
61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file.
70b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger */
80b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
91cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger
100b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#ifndef SkScrollBarView_DEFINED
110b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#define SkScrollBarView_DEFINED
120b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
130b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#include "SkView.h"
140b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#include "SkWidgetViews.h"
150b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#include "SkAnimator.h"
160b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
170b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenbergerclass SkScrollBarView : public SkWidgetView {
180b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenbergerpublic:
190b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    SkScrollBarView();
200b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
210b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    unsigned getStart() const { return fStartPoint; }
220b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    unsigned getShown() const { return fShownLength; }
230b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    unsigned getTotal() const { return fTotalLength; }
240b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
250b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    void setStart(unsigned start);
260b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    void setShown(unsigned shown);
270b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    void setTotal(unsigned total);
280b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
290b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenbergerprotected:
300b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    //overrides
310b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    virtual void onInflate(const SkDOM& dom, const SkDOM::Node* node);
320b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    virtual void onSizeChange();
330b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    virtual void onDraw(SkCanvas* canvas);
340b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    virtual bool onEvent(const SkEvent& evt);
350b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
360b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenbergerprivate:
370b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    SkAnimator  fAnim;
380b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    unsigned    fTotalLength, fStartPoint, fShownLength;
390b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
400b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    void adjust();
410b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
420b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger    typedef SkWidgetView INHERITED;
430b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger};
440b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger#endif
450b15698a8c76bb8abc1b555c1d91892669b4118fDerek Sollenberger
46