package cofh.lib.gui.element.listbox;
import cofh.lib.gui.GuiBase;
import cofh.lib.gui.element.ElementSlider;
public class SliderVertical extends ElementSlider {
public SliderVertical(GuiBase containerScreen, int x, int y, int width, int height, int maxValue) {
this(containerScreen, x, y, width, height, maxValue, 0);
}
public SliderVertical(GuiBase containerScreen, int x, int y, int width, int height, int maxValue, int minValue) {
super(containerScreen, x, y, width, height, maxValue, minValue);
int dist = maxValue - minValue;
setSliderSize(width, dist <= 0 ? height : Math.max(height / ++dist, 9));
}
@Override
public int getSliderY() {
int dist = _valueMax - _valueMin;
int maxPos = sizeY - _sliderHeight + 1;
return Math.min(dist == 0 ? 0 : maxPos * (_value - _valueMin) / dist, maxPos);
}
@Override
public void dragSlider(int x, int v) {
v += Math.round(_sliderHeight * (v / (float) sizeY) + (_sliderHeight * 0.25f));
setValue(_valueMin + ((_valueMax - _valueMin) * v / sizeY));
}
}