00001 /* This is -*- C -*-) 00002 00003 BScroller.h 00004 \author: Bjoern Giesler <bjoern@giesler.de> 00005 00006 00007 00008 $Author: giesler $ 00009 $Locker$ 00010 $Revision$ 00011 $Date: 2002-08-19 10:41:28 +0200 (Mon, 19 Aug 2002) $ 00012 */ 00013 00014 #ifndef BSCROLLER_H 00015 #define BSCROLLER_H 00016 00017 /* system includes */ 00018 /* (none) */ 00019 00020 /* my includes */ 00021 #include "BWidget.h" 00022 00023 class BScrollable; 00024 00025 class BScroller: public BWidget { 00026 public: 00027 typedef enum { 00028 ORIENT_VERTICAL, 00029 ORIENT_HORIZONTAL 00030 } Orientation; 00031 00032 int lastpos; 00033 BPoint lastpoint; 00034 00035 BScroller(BWidget* parent, const BRect& frame); 00036 00037 void setOrientation(Orientation orient); 00038 Orientation orientation(void) const { return _orient; } 00039 00040 void setStepIncrement(unsigned int stepIncr); 00041 unsigned int stepIncrement(void) const { return _stepIncr; } 00042 00043 void setPageIncrement(unsigned int pageIncr); 00044 unsigned int pageIncrement(void) const { return _pageIncr; } 00045 00046 void setPosition(unsigned int position); 00047 unsigned int position(void) const { return _position; } 00048 00049 void setMinimum(unsigned int minimum); 00050 unsigned int minimum(void) const { return _minimum; } 00051 00052 void setMaximum(unsigned int maximum); 00053 unsigned int maximum(void) const { return _maximum; } 00054 00055 void setAmountRepresentedByThumb(unsigned int amountRepr); 00056 unsigned int amountRepresentedByThumb(void) const { return _amountRepr; } 00057 00058 virtual void draw(BImage& img); 00059 00060 virtual void handleEvent(const BEvent& event); 00061 00062 void setScrollable(BScrollable *scrollable); 00063 00064 protected: 00065 unsigned int _stepIncr, _pageIncr; 00066 unsigned int _position, _minimum, _maximum, _amountRepr; 00067 Orientation _orient; 00068 bool _dragged; BPoint _dragOrigin; 00069 BScrollable *_scrollable; 00070 }; 00071 00072 #endif /* BSCROLLER_H */
1.3-rc3