class Fl_Adjuster : public Fl_Object
This type of control was stolen from Prisms, and has proven to be very
useful for values that need a large dynamic range. When you press a
button and drag to the right the value increases, when you drag to the
left it decreases. The second button adjusts by steps 1/10 the size
of the first, the third by steps 1/100 the size of the first.
If h()
is greater than w()
then you get
one like this:
The callback is done every time the value changes (there is no
when()
property). You almost certainly want to add a
text field that shows the current value.
Fl_Adjuster(int x,int y,int w,int h,const char *l=0);
The constructor takes a bounding box and label. It looks best if one
of the dimensions is 3 times the other.
float value() const ;
void value(float v);
The current value of the adjuster.
void bounds(float a,float b) ;
void bounds(float *a,float *b) const ;
Set the "soft" range of the adjuster. If the user moves the value, it
will stop at these bounds. However, if they then release the button,
press it again, and continue dragging, they may move the value outside
the bounds. The default values are 0 and 1.
float step() const ;
void step(float v);
How much to change the value for each pixel movement for the
largest-scale button. If this is not set or is zero, then 1/100 the
difference between the minimum and maximum is used.