@Override public void update(int mouseX, int mouseY) { if (_isDragging) { dragSlider(mouseX - posX, mouseY - posY); } }
protected boolean isHovering(int x, int y) { return intersectsWith(x, y); }
@Override public void onMouseReleased(int mouseX, int mouseY) { if (_isDragging) { onStopDragging(); } _isDragging = false; }
@Override public void drawForeground(int mouseX, int mouseY) { int sliderX = posX + getSliderX(); int sliderY = posY + getSliderY(); drawSlider(mouseX, mouseY, sliderX, sliderY); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); }
protected void drawSlider(int mouseX, int mouseY, int sliderX, int sliderY) { int sliderMidX = _sliderWidth / 2; int sliderMidY = _sliderHeight / 2; int sliderEndX = _sliderWidth - sliderMidX; int sliderEndY = _sliderHeight - sliderMidY; if (!isEnabled()) { gui.bindTexture(DISABLED); } else if (isHovering(mouseX, mouseY)) { gui.bindTexture(HOVER); } else { gui.bindTexture(ENABLED); } GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); drawTexturedModalRect(sliderX, sliderY, 0, 0, sliderMidX, sliderMidY); drawTexturedModalRect(sliderX, sliderY + sliderMidY, 0, 256 - sliderEndY, sliderMidX, sliderEndY); drawTexturedModalRect(sliderX + sliderMidX, sliderY, 256 - sliderEndX, 0, sliderEndX, sliderMidY); drawTexturedModalRect(sliderX + sliderMidX, sliderY + sliderMidY, 256 - sliderEndX, 256 - sliderEndY, sliderEndX, sliderEndY); }
@Override public void drawBackground(int mouseX, int mouseY, float gameTicks) { drawModalRect(posX - 1, posY - 1, posX + sizeX + 1, posY + sizeY + 1, borderColor); drawModalRect(posX, posY, posX + sizeX, posY + sizeY, backgroundColor); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); }