private int getSliderTop() { float d = maxValue - minValue; d = (float) (currentValue - minValue) / d; d *= getUsableSlidebarHeight() - slider.h; return (int) d + slideBarTop.h; }
@Override public void draw() { if(hidden) { return; } // slidebar background slideBarTop.draw(xPos, yPos); slideBar.drawScaledY(xPos, yPos + slideBarTop.h, getUsableSlidebarHeight()); slideBarBottom.draw(xPos, yPos + height - slideBarBottom.h); int x = xPos + sliderOffset; int y = yPos + getSliderTop(); // the slider depending on state if(enabled) { if(isScrolling) { sliderDisabled.draw(x, y); } else if(isHighlighted) { sliderHighlighted.draw(x, y); } else { slider.draw(x, y); } } else { sliderDisabled.draw(x, y); } }
float val = (float) (y - clickY) / (float) (getUsableSlidebarHeight() - slider.h); val *= d;