| 1 |
|
|
| 2 |
|
|
| 3 |
|
|
| 4 |
|
package ca.spaz.cron.summary; |
| 5 |
|
|
| 6 |
|
import java.awt.*; |
| 7 |
|
|
| 8 |
|
import javax.swing.JComponent; |
| 9 |
|
|
| 10 |
0 |
public class MacroChart extends JComponent { |
| 11 |
|
|
| 12 |
|
private double protein; |
| 13 |
|
private double carbs; |
| 14 |
|
private double fat; |
| 15 |
|
|
| 16 |
|
public double getCarbs() { |
| 17 |
0 |
return carbs; |
| 18 |
|
} |
| 19 |
|
|
| 20 |
|
public void setCarbs(double carbs) { |
| 21 |
0 |
this.carbs = carbs; |
| 22 |
0 |
repaint(); |
| 23 |
0 |
} |
| 24 |
|
|
| 25 |
|
public double getFat() { |
| 26 |
0 |
return fat; |
| 27 |
|
} |
| 28 |
|
|
| 29 |
|
public void setFat(double fat) { |
| 30 |
0 |
this.fat = fat; |
| 31 |
0 |
repaint(); |
| 32 |
0 |
} |
| 33 |
|
|
| 34 |
|
public double getProtein() { |
| 35 |
0 |
return protein; |
| 36 |
|
} |
| 37 |
|
|
| 38 |
|
public void setProtein(double protein) { |
| 39 |
0 |
this.protein = protein; |
| 40 |
0 |
repaint(); |
| 41 |
0 |
} |
| 42 |
|
|
| 43 |
|
|
| 44 |
|
public void paint(Graphics g) { |
| 45 |
0 |
Graphics2D g2d = (Graphics2D)g; |
| 46 |
0 |
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.75f)); |
| 47 |
0 |
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); |
| 48 |
0 |
double total = protein + carbs + fat; |
| 49 |
0 |
int w = getWidth(); |
| 50 |
0 |
int h = getHeight(); |
| 51 |
0 |
int min = w<h?w:h; |
| 52 |
0 |
g.setColor(Color.BLACK); |
| 53 |
|
|
| 54 |
|
|
| 55 |
0 |
g.setColor(Color.GREEN); |
| 56 |
0 |
int amount = 0; |
| 57 |
0 |
g.fillArc(2,2,min-4,min-4, amount, (int)(360*(protein/total))); |
| 58 |
0 |
amount += (int)(360*(protein/total)); |
| 59 |
|
|
| 60 |
0 |
g.setColor(Color.BLUE); |
| 61 |
0 |
g.fillArc(2,2,min-4,min-4, amount, (int)(360*(carbs/total))); |
| 62 |
0 |
amount += (int)(360*(carbs/total)); |
| 63 |
|
|
| 64 |
0 |
g.setColor(Color.RED); |
| 65 |
0 |
g.fillArc(2,2,min-4,min-4, amount, (int)(360*(fat/total))); |
| 66 |
0 |
} |
| 67 |
|
|
| 68 |
|
|
| 69 |
|
} |