- 48
- 4
- 19
Вообщем при загрузке собственного widgets.png в minecraft.jar кнопки рисуются частично криво
Вот тут еще нормально
Но, если навести на кнопку, которая не равна 200 по ширине - получается вот такая штука
Необходимо как-то "правильно" отрисовать кнопку, чтобы она не повторяла текстуру, а "натягивала" на кнопку
Вот исходный код отрисовки
Вот тут еще нормально
Но, если навести на кнопку, которая не равна 200 по ширине - получается вот такая штука
Необходимо как-то "правильно" отрисовать кнопку, чтобы она не повторяла текстуру, а "натягивала" на кнопку
Вот исходный код отрисовки
drawButton:
public void drawButton(Minecraft mc, int mouseX, int mouseY)
{
if (this.visible)
{
FontRenderer fontrenderer = mc.fontRendererObj;
mc.getTextureManager().bindTexture(buttonTextures);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.hovered = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
int i = this.getHoverState(this.hovered);
GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
GlStateManager.blendFunc(770, 771);
this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + i * 20, this.width / 2, this.height);
this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + i * 20, this.width / 2, this.height);
this.mouseDragged(mc, mouseX, mouseY);
int j = 14737632;
if (!this.enabled)
{
j = 10526880;
}
else if (this.hovered)
{
j = 16777120;
}
this.drawCenteredString(fontrenderer, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, j);
}
}