package net.minecraft.client.renderer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
@SideOnly(Side.CLIENT)
public class IconFlipped implements Icon
{
private final Icon baseIcon;
private final boolean flipU;
private final boolean flipV;
public IconFlipped(Icon par1Icon, boolean par2, boolean par3)
{
this.baseIcon = par1Icon;
this.flipU = par2;
this.flipV = par3;
}
/**
* Returns the X position of this icon on its texture sheet, in pixels.
*/
public int getOriginX()
{
return this.baseIcon.getOriginX();
}
/**
* Returns the Y position of this icon on its texture sheet, in pixels.
*/
public int getOriginY()
{
return this.baseIcon.getOriginY();
}
/**
* Returns the minimum U coordinate to use when rendering with this icon.
*/
public float getMinU()
{
return this.flipU ? this.baseIcon.getMaxU() : this.baseIcon.getMinU();
}
/**
* Returns the maximum U coordinate to use when rendering with this icon.
*/
public float getMaxU()
{
return this.flipU ? this.baseIcon.getMinU() : this.baseIcon.getMaxU();
}
/**
* Gets a U coordinate on the icon. 0 returns uMin and 16 returns uMax. Other arguments return in-between values.
*/
public float getInterpolatedU(double par1)
{
float f = this.getMaxU() - this.getMinU();
return this.getMinU() + f * ((float)par1 / 16.0F);
}
/**
* Returns the minimum V coordinate to use when rendering with this icon.
*/
public float getMinV()
{
return this.flipV ? this.baseIcon.getMinV() : this.baseIcon.getMinV();
}
/**
* Returns the maximum V coordinate to use when rendering with this icon.
*/
public float getMaxV()
{
return this.flipV ? this.baseIcon.getMinV() : this.baseIcon.getMaxV();
}
/**
* Gets a V coordinate on the icon. 0 returns vMin and 16 returns vMax. Other arguments return in-between values.
*/
public float getInterpolatedV(double par1)
{
float f = this.getMaxV() - this.getMinV();
return this.getMinV() + f * ((float)par1 / 16.0F);
}
public String getIconName()
{
return this.baseIcon.getIconName();
}
/**
* Returns the width of the texture sheet this icon is on, in pixels.
*/
public int getSheetWidth()
{
return this.baseIcon.getSheetWidth();
}
/**
* Returns the height of the texture sheet this icon is on, in pixels.
*/
public int getSheetHeight()
{
return this.baseIcon.getSheetHeight();
}
}