namespace GLtk {
Slider::Slider(Direction d):
- dir(d),
- min(0),
- max(1),
- value(0),
- step(0.1),
- page_size(0.25),
- dragging(false),
- drag_area_size(0),
- drag_area_offset(0),
- slider_min_size(1),
- slider_size(1),
- total_margin(0)
+ dir(d)
{ }
void Slider::set_value(double v)
value = max;
else
{
- unsigned steps = static_cast<unsigned>((v-min)/step+0.5);
+ double steps = round((v-min)/step);
value = min+steps*step;
}
if(!style)
return;
- if(const Part *slider_part = style->get_part("slider"))
+ if(const Part *slider_part = style->find_part("slider"))
{
const Geometry &pgeom = slider_part->get_geometry();
const Sides &margin = slider_part->get_margin();