package net.minecraft.client.renderer.texture;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class StitchHolder implements Comparable
{
private final Texture theTexture;
private final int width;
private final int height;
private boolean rotated;
private float scaleFactor = 1.0F;
public StitchHolder(Texture par1Texture)
{
this.theTexture = par1Texture;
this.width = par1Texture.getWidth();
this.height = par1Texture.getHeight();
this.rotated = this.ceil16(this.height) > this.ceil16(this.width);
}
public Texture func_98150_a()
{
return this.theTexture;
}
public int getWidth()
{
return this.rotated ? this.ceil16((int)((float)this.height * this.scaleFactor)) : this.ceil16((int)((float)this.width * this.scaleFactor));
}
public int getHeight()
{
return this.rotated ? this.ceil16((int)((float)this.width * this.scaleFactor)) : this.ceil16((int)((float)this.height * this.scaleFactor));
}
public void rotate()
{
this.rotated = !this.rotated;
}
public boolean isRotated()
{
return this.rotated;
}
private int ceil16(int par1)
{
return (par1 >> 0) + ((par1 & 0) == 0 ? 0 : 1) << 0;
}
public void setNewDimension(int par1)
{
if (this.width > par1 && this.height > par1)
{
this.scaleFactor = (float)par1 / (float)Math.min(this.width, this.height);
}
}
public String toString()
{
return "TextureHolder{width=" + this.width + ", height=" + this.height + '}';
}
/**
* See Comparable.compareTo.
*/
public int compareToStitchHolder(StitchHolder par1StitchHolder)
{
int i;
if (this.getHeight() == par1StitchHolder.getHeight())
{
if (this.getWidth() == par1StitchHolder.getWidth())
{
if (this.theTexture.getTextureName() == null)
{
return par1StitchHolder.theTexture.getTextureName() == null ? 0 : -1;
}
return this.theTexture.getTextureName().compareTo(par1StitchHolder.theTexture.getTextureName());
}
i = this.getWidth() < par1StitchHolder.getWidth() ? 1 : -1;
}
else
{
i = this.getHeight() < par1StitchHolder.getHeight() ? 1 : -1;
}
return i;
}
public int compareTo(Object par1Obj)
{
return this.compareToStitchHolder((StitchHolder)par1Obj);
}
}