FLTK 1.3.0
Fl_Scrollbar.H
1 //
2 // "$Id: Fl_Scrollbar.H 7981 2010-12-08 23:53:04Z greg.ercolano $"
3 //
4 // Scroll bar header file for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2010 by Bill Spitzak and others.
7 //
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Library General Public License for more details.
17 //
18 // You should have received a copy of the GNU Library General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
21 // USA.
22 //
23 // Please report all bugs and problems on the following page:
24 //
25 // http://www.fltk.org/str.php
26 //
27 
28 /* \file
29  Fl_Scrollbar widget . */
30 
31 #ifndef Fl_Scrollbar_H
32 #define Fl_Scrollbar_H
33 
34 #include "Fl_Slider.H"
35 
52 class FL_EXPORT Fl_Scrollbar : public Fl_Slider {
53 
54  int linesize_;
55  int pushed_;
56  static void timeout_cb(void*);
57  void increment_cb();
58 protected:
59  void draw();
60 
61 public:
62 
63  Fl_Scrollbar(int X,int Y,int W,int H, const char *L = 0);
64  ~Fl_Scrollbar();
65  int handle(int);
66 
74  int value() const {return int(Fl_Slider::value());}
75 
82  int value(int p) {return int(Fl_Slider::value((double)p));}
83 
98  int value(int pos, int size, int first, int total) {
99  return scrollvalue(pos, size, first, total);
100  }
101 
105  int linesize() const {return linesize_;}
106 
112  void linesize(int i) {linesize_ = i;}
113 
114 };
115 
116 #endif
117 
118 //
119 // End of "$Id: Fl_Scrollbar.H 7981 2010-12-08 23:53:04Z greg.ercolano $".
120 //