|
@@ -55,54 +55,3 @@ Fl_Value_SliderX::draw ( void ) |
|
|
|
|
|
|
|
|
Fl_Value_Slider::draw(); |
|
|
Fl_Value_Slider::draw(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int |
|
|
|
|
|
Fl_Value_SliderX::handle ( int m ) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
/* Fl_Value_Slider and friends should really handle mousewheel, but they don't in FTLK1 */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
switch ( m ) |
|
|
|
|
|
{ |
|
|
|
|
|
case FL_MOUSEWHEEL: |
|
|
|
|
|
{ |
|
|
|
|
|
if ( this != Fl::belowmouse() ) |
|
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
|
|
int steps = 16; |
|
|
|
|
|
|
|
|
|
|
|
if ( Fl::event_ctrl() ) |
|
|
|
|
|
steps = 128; |
|
|
|
|
|
|
|
|
|
|
|
float step = fabs( maximum() - minimum() ) / (float)steps; |
|
|
|
|
|
|
|
|
|
|
|
float d = ((float)Fl::event_dy()) * step; |
|
|
|
|
|
|
|
|
|
|
|
double v = value() + d; |
|
|
|
|
|
|
|
|
|
|
|
if ( maximum() > minimum() ) |
|
|
|
|
|
{ |
|
|
|
|
|
if ( v < minimum() ) |
|
|
|
|
|
v = minimum(); |
|
|
|
|
|
else if ( v > maximum() ) |
|
|
|
|
|
v = maximum(); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
if ( v > minimum() ) |
|
|
|
|
|
v = minimum(); |
|
|
|
|
|
else if ( v < maximum() ) |
|
|
|
|
|
v = maximum(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
value( v ); |
|
|
|
|
|
do_callback(); |
|
|
|
|
|
|
|
|
|
|
|
return 1; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return Fl_Value_Slider::handle( m ); |
|
|
|
|
|
} |
|
|
|