Initial commit

This commit is contained in:
Flare Microsystems
2024-03-03 00:02:00 -08:00
commit f7f24dfbe5
24 changed files with 884 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
package com.flaremicro.flaretv.visualforecast.icons;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;
public class CloudIcon implements Icon {
Ellipse2D.Float[] cloudCircles = new Ellipse2D.Float[]{
new Ellipse2D.Float(0, 0.5F, 0.28F, 0.325F),
new Ellipse2D.Float(0.142F, 0.619F, 0.287F, 0.231F),
new Ellipse2D.Float(0.666F, 0.597F, 0.208F, 0.234F),
new Ellipse2D.Float(0.435F, 0.585F, 0.226F, 0.253F),
new Ellipse2D.Float(0.749F, 0.412F, 0.251F, 0.417F),
new Ellipse2D.Float(0.478F, 0.235F, 0.348F, 0.602F),
new Ellipse2D.Float(0.233F, 0.150F, 0.369F, 0.677F),
new Ellipse2D.Float(0.113F, 0.326F, 0.266F, 0.356F),
};
Ellipse2D.Float[] extraStroke = new Ellipse2D.Float[]{
new Ellipse2D.Float(0.142F, 0.619F, 0.287F, 0.231F),
new Ellipse2D.Float(0.666F, 0.597F, 0.208F, 0.234F)
};
Ellipse2D.Float[] overStroke = new Ellipse2D.Float[]{
new Ellipse2D.Float(0.233F, 0.150F, 0.369F, 0.677F),
new Ellipse2D.Float(0.113F, 0.326F, 0.266F, 0.356F),
new Ellipse2D.Float(0.749F, 0.412F, 0.251F, 0.417F),
new Ellipse2D.Float(0.652F, 0.555F, 0.150F, 0.136F),
};
Ellipse2D.Float[] lightCircles = new Ellipse2D.Float[]{
new Ellipse2D.Float(0.309F, 0.173F, 0.209F, 0.235F),
new Ellipse2D.Float(0.554F, 0.276F, 0.204F, 0.314F),
new Ellipse2D.Float(0.770F, 0.440F, 0.204F, 0.235F),
new Ellipse2D.Float(0.141F, 0.348F, 0.260F, 0.235F),
new Ellipse2D.Float(0.259F, 0.460F, 0.314F, 0.235F),
};
Ellipse2D.Float[] overLight = new Ellipse2D.Float[]{
new Ellipse2D.Float(0.328F, 0.188F, 0.209F, 0.235F),
new Ellipse2D.Float(0.573F, 0.296F, 0.204F, 0.314F),
new Ellipse2D.Float(0.789F, 0.456F, 0.204F, 0.235F),
new Ellipse2D.Float(0.155F, 0.369F, 0.260F, 0.235F),
new Ellipse2D.Float(0.288F, 0.476F, 0.314F, 0.235F),
};
@Override
public void drawIcon(Graphics2D g2d, float scale, int animationStep) {
g2d.setColor(Color.BLACK);
g2d.setStroke(new BasicStroke(4/scale));
for(int i = 0; i < cloudCircles.length; i++)
{
g2d.draw(cloudCircles[i]);
}
g2d.setColor(Color.LIGHT_GRAY);
for(int i = 0; i < cloudCircles.length; i++)
{
g2d.fill(cloudCircles[i]);
}
g2d.setColor(Color.BLACK);
g2d.setStroke(new BasicStroke(2/scale));
for(int i = 0; i < extraStroke.length; i++)
{
g2d.draw(extraStroke[i]);
}
g2d.setColor(Color.LIGHT_GRAY);
for(int i = 0; i < overStroke.length; i++)
{
g2d.fill(overStroke[i]);
}
for(int i = 0; i < lightCircles.length; i++)
{
g2d.setColor(Color.LIGHT_GRAY.brighter());
g2d.fill(lightCircles[i]);
g2d.setColor(Color.LIGHT_GRAY);
g2d.fill(overLight[i]);
}
}
}