Added providers

This commit is contained in:
Flare Microsystems
2024-03-07 14:12:38 -08:00
parent 701db6e22c
commit 0564334f93
51 changed files with 690 additions and 528 deletions

View File

@@ -0,0 +1,129 @@
package com.flaremicro.visualforecast.icons.impl;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Path2D;
import com.flaremicro.visualforecast.icons.Icon;
public class IceCubeIcon extends Icon {
Path2D.Float iceOutline = new Path2D.Float();
Path2D.Float[] iceFaces = new Path2D.Float[3];
Path2D.Float[] iceShines = new Path2D.Float[3];
Path2D.Float iceBeams = new Path2D.Float();
Color[] iceFaceColors = new Color[] {
new Color(0xb9dbff),
new Color(0x92b1ff),
new Color(0x3886ff),
};
Color[] iceShineAnimation = new Color[] {
new Color(0x92B1FF),
new Color(0xA2C1FF),
new Color(0xB2D1FF),
new Color(0xC2E1FF),
new Color(0xD2F1FF),
new Color(0xE2FFFF),
new Color(0xFFFFFF),
new Color(0xE2FFFF),
new Color(0xD2F1FF),
new Color(0xC2E1FF),
new Color(0xB2D1FF),
new Color(0xA2C1FF),
};
public IceCubeIcon(int id) {
super(id);
iceBeams.moveTo(0.15F, 0.35F);
iceBeams.lineTo(0.25F, 0.15F);
iceBeams.moveTo(0.60F, 0.2F);
iceBeams.lineTo(0.70F, 0F);
iceBeams.moveTo(0.9F, 0.25F);
iceBeams.lineTo(1.0F, 0.05F);
iceOutline.moveTo(0F, 0.161F);
iceOutline.lineTo(0.542F, 0F);
iceOutline.lineTo(1.0F, 0.093F);
iceOutline.lineTo(1.0F, 0.441F);
iceOutline.lineTo(0.489F, 0.650F);
iceOutline.lineTo(0.0F, 0.531F);
iceOutline.closePath();
iceFaces[1] = new Path2D.Float();
iceFaces[1].moveTo(0F, 0.161F);
iceFaces[1].lineTo(0.542F, 0F);
iceFaces[1].lineTo(1.0F, 0.093F);
iceFaces[1].lineTo(0.489F, 0.263F);
iceFaces[1].closePath();
iceFaces[2] = new Path2D.Float();
iceFaces[2].moveTo(0.489F, 0.263F);
iceFaces[2].lineTo(1.0F, 0.093F);
iceFaces[2].lineTo(1.0F, 0.441F);
iceFaces[2].lineTo(0.489F, 0.650F);
iceFaces[2].closePath();
iceFaces[0] = new Path2D.Float();
iceFaces[0].moveTo(0.0F, 0.161F);
iceFaces[0].lineTo(0.489F, 0.263F);
iceFaces[0].lineTo(0.489F, 0.650F);
iceFaces[0].lineTo(0.0F, 0.531F);
iceFaces[0].closePath();
iceShines[1] = new Path2D.Float();
iceShines[1].moveTo(0.537F, 0.013F);
iceShines[1].lineTo(0.930F, 0.099F);
iceShines[1].lineTo(0.673F, 0.185F);
iceShines[1].lineTo(0.556F, 0.187F);
iceShines[1].lineTo(0.556F, 0.187F);
iceShines[1].lineTo(0.742F, 0.086);
iceShines[1].closePath();
iceShines[2] = new Path2D.Float();
iceShines[2].moveTo(0.981F, 0.134F);
iceShines[2].lineTo(0.981F, 0.423F);
iceShines[2].lineTo(0.515F, 0.624F);
iceShines[2].lineTo(0.571F, 0.557F);
iceShines[2].lineTo(0.915F, 0.372F);
iceShines[2].closePath();
iceShines[0] = new Path2D.Float();
iceShines[0].moveTo(0.018F, 0.187F);
iceShines[0].lineTo(0.205F, 0.229F);
iceShines[0].lineTo(0.060F, 0.249F);
iceShines[0].lineTo(0.044F, 0.475F);
iceShines[0].lineTo(0.021F, 0.508F);
iceShines[0].closePath();
}
@Override
public void drawIcon(Graphics2D g2d, float scale, int animationStep) {
g2d.setColor(Color.BLACK);
g2d.setStroke(new BasicStroke(2 / scale));
g2d.draw(iceBeams);
g2d.setStroke(new BasicStroke(4 / scale));
g2d.translate(0F, 0.325F);
g2d.draw(iceOutline);
for(int i = 0; i < iceFaces.length; i++)
{
g2d.setColor(iceFaceColors[i]);
g2d.fill(iceFaces[i]);
g2d.setColor(iceShineAnimation[(i+animationStep) % iceShineAnimation.length]);
g2d.fill(iceShines[i]);
}
g2d.translate(0F, -0.325F);
}
@Override
public boolean isAnimated() {
return false;
}
}