code: func sliderBehavior(state *nstyle.WidgetStates, cursor *rect.Rect, in *Input, style *nstyle.Slider, bounds rect.Rect, slider_min float64, slider_value float64, slider_max float64, slider_step float64, slider_steps int) float64 {
  	exitstate := basicWidgetStateControl(state, in, bounds)
  
  	if *state == nstyle.WidgetStateActive {
  		if !in.Mouse.Down(mouse.ButtonLeft) {
  			*state = exitstate
  		} else {
  			d := in.Mouse.Pos.X - (cursor.X + cursor.W/2.0)
  			var pxstep float64 = float64(bounds.W-(2*style.Padding.X)) / float64(slider_steps)
  
  			if math.Abs(float64(d)) >= pxstep {
  				steps := float64(int(math.Abs(float64(d)) / pxstep))
  				if d > 0 {
  					slider_value += slider_step * steps
  				} else {
  					slider_value -= slider_step * steps
  				}
  				slider_value = clampFloat(slider_min, slider_value, slider_max)
  			}
  		}
  	}
  
  	return slider_value
  }
docs: ///////////////////////////////////////////////////////////////////////////////////
  // SLIDER
  ///////////////////////////////////////////////////////////////////////////////////