Added providers
This commit is contained in:
84
src/com/flaremicro/visualforecast/icons/IconProvider.java
Normal file
84
src/com/flaremicro/visualforecast/icons/IconProvider.java
Normal file
@@ -0,0 +1,84 @@
|
||||
package com.flaremicro.visualforecast.icons;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.geom.AffineTransform;
|
||||
|
||||
import com.flaremicro.visualforecast.icons.impl.BlizzardIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.ButterIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.CloudIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.FogIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.IceCubeIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.InvalidIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.LightningIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.LightningOverlay;
|
||||
import com.flaremicro.visualforecast.icons.impl.LightningStormIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.PartlyCloudyIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.RainIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.RainSnowIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.SmallCloudIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.SnowIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.SnowflakeIcon;
|
||||
import com.flaremicro.visualforecast.icons.impl.SunIcon;
|
||||
|
||||
public class IconProvider {
|
||||
|
||||
public static final Icon[] INDEXED_ICONS = new Icon[64];
|
||||
|
||||
public static final Icon INVALID = registerIcon(setMainIcon(new InvalidIcon(0)));
|
||||
public static final Icon SUN = registerIcon(new SunIcon(1));
|
||||
public static final Icon CLOUD = registerIcon(new CloudIcon(2));
|
||||
public static final Icon PARTLY_CLOUDY = registerIcon(new PartlyCloudyIcon(3, CLOUD, SUN));
|
||||
public static final Icon CLOUDY_CLOUDY = registerIcon(new PartlyCloudyIcon(4, CLOUD, CLOUD));
|
||||
public static final Icon RAIN_LIGHTEST = registerIcon(new RainIcon(5, 2, 2F, CLOUD));
|
||||
public static final Icon RAIN_LIGHT = registerIcon(new RainIcon(6, 3, 2F, CLOUD));
|
||||
public static final Icon RAIN = registerIcon(new RainIcon(7, 3, 1F, CLOUD));
|
||||
public static final Icon RAIN_HEAVY = registerIcon(new RainIcon(8, 4, 1F, CLOUD));
|
||||
public static final Icon RAIN_HEAVIEST = registerIcon(new RainIcon(9, 5, 1F, CLOUD));
|
||||
public static final Icon RAIN_VANCOUVER = registerIcon(new RainIcon(10, 6, 1F, CLOUD));
|
||||
public static final Icon SCATTERD_SHOWERS = registerIcon(new PartlyCloudyIcon(11, new RainIcon(-1, 2, 4F, CLOUD), SUN));
|
||||
public static final Icon SNOWFLAKE = registerIcon(new SnowflakeIcon(12));
|
||||
public static final Icon SNOW = registerIcon(new SnowIcon(13, CLOUD, SNOWFLAKE));
|
||||
public static final Icon BLIZZARD = registerIcon(new BlizzardIcon(14, CLOUD, SNOWFLAKE));
|
||||
public static final Icon RAIN_SNOW = registerIcon(new RainSnowIcon(15, RAIN_LIGHTEST, SNOWFLAKE, true));
|
||||
public static final Icon FREEZING_RAIN = registerIcon(new RainSnowIcon(16, RAIN_LIGHT, SNOWFLAKE, false));
|
||||
public static final Icon LIGHTNING_BOLT = registerIcon(new LightningIcon(17));
|
||||
public static final Icon LIGHTNING_STORM = registerIcon(new LightningStormIcon(18, CLOUD, LIGHTNING_BOLT));
|
||||
public static final Icon SMALL_CLOUD = registerIcon(new SmallCloudIcon(19));
|
||||
public static final Icon LIGHTNING_BLIZZARD = registerIcon(new LightningOverlay(20, SMALL_CLOUD, LIGHTNING_BOLT, BLIZZARD));
|
||||
public static final Icon SCATTERD_THUNDERSTORMS = registerIcon(new PartlyCloudyIcon(21, LIGHTNING_STORM, SUN));
|
||||
public static final Icon FOG = registerIcon(new FogIcon(22, CLOUD));
|
||||
public static final Icon ICE_CUBE = registerIcon(new IceCubeIcon(23));
|
||||
public static final Icon HAIL = registerIcon(new BlizzardIcon(24, CLOUD, ICE_CUBE));
|
||||
public static final Icon BUTTER = registerIcon(new ButterIcon(25));
|
||||
public static final Icon BUTTER_RAIN = registerIcon(new BlizzardIcon(26, CLOUD, BUTTER));
|
||||
public static final Icon RAIN_STORM = registerIcon(new LightningOverlay(27, SMALL_CLOUD, LIGHTNING_BOLT, RAIN_HEAVY));
|
||||
|
||||
//public static final Icon INVALID_RAIN = registerIcon(new LightningOverlay(27, SUN, BUTTER, new BlizzardIcon(-1, LIGHTNING_BOLT, INVALID)));
|
||||
|
||||
private static Icon registerIcon(Icon icon)
|
||||
{
|
||||
INDEXED_ICONS[icon.id] = icon;
|
||||
return icon;
|
||||
}
|
||||
|
||||
private static Icon setMainIcon(Icon icon) {
|
||||
for(int i = 0; i < INDEXED_ICONS.length; i++){
|
||||
INDEXED_ICONS[i] = icon;
|
||||
}
|
||||
return icon;
|
||||
}
|
||||
|
||||
public static void drawIcon(Graphics2D g2d, Icon icon, int x, int y, int scale, int animationStep)
|
||||
{
|
||||
if(icon != null)
|
||||
{
|
||||
AffineTransform af = g2d.getTransform();
|
||||
g2d.translate(x, y);
|
||||
g2d.scale(scale, scale);
|
||||
//1g2d.setColor(Color.RED);
|
||||
//g2d.fill(new Rectangle2D.Float(0, 0, 1F, 1F));
|
||||
icon.drawIcon(g2d, scale, animationStep);
|
||||
g2d.setTransform(af);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user