001package net.minecraft.util; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005 006public interface Icon 007{ 008 @SideOnly(Side.CLIENT) 009 010 /** 011 * Returns the X position of this icon on its texture sheet, in pixels. 012 */ 013 int getOriginX(); 014 015 @SideOnly(Side.CLIENT) 016 017 /** 018 * Returns the Y position of this icon on its texture sheet, in pixels. 019 */ 020 int getOriginY(); 021 022 @SideOnly(Side.CLIENT) 023 024 /** 025 * Returns the minimum U coordinate to use when rendering with this icon. 026 */ 027 float getMinU(); 028 029 @SideOnly(Side.CLIENT) 030 031 /** 032 * Returns the maximum U coordinate to use when rendering with this icon. 033 */ 034 float getMaxU(); 035 036 @SideOnly(Side.CLIENT) 037 038 /** 039 * Gets a U coordinate on the icon. 0 returns uMin and 16 returns uMax. Other arguments return in-between values. 040 */ 041 float getInterpolatedU(double d0); 042 043 @SideOnly(Side.CLIENT) 044 045 /** 046 * Returns the minimum V coordinate to use when rendering with this icon. 047 */ 048 float getMinV(); 049 050 @SideOnly(Side.CLIENT) 051 052 /** 053 * Returns the maximum V coordinate to use when rendering with this icon. 054 */ 055 float getMaxV(); 056 057 @SideOnly(Side.CLIENT) 058 059 /** 060 * Gets a V coordinate on the icon. 0 returns vMin and 16 returns vMax. Other arguments return in-between values. 061 */ 062 float getInterpolatedV(double d0); 063 064 @SideOnly(Side.CLIENT) 065 String getIconName(); 066 067 @SideOnly(Side.CLIENT) 068 069 /** 070 * Returns the width of the texture sheet this icon is on, in pixels. 071 */ 072 int getSheetWidth(); 073 074 @SideOnly(Side.CLIENT) 075 076 /** 077 * Returns the height of the texture sheet this icon is on, in pixels. 078 */ 079 int getSheetHeight(); 080}