home *** CD-ROM | disk | FTP | other *** search
- import allaire.dcf.recordset.AppletParamRecordset;
- import allaire.dcf.recordset.Query;
- import allaire.dcf.recordset.Recordset;
- import allaire.util.Debug;
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Point;
- import java.util.Date;
- import java.util.Vector;
-
- public class MultiBarChart3D extends Applet implements Runnable {
- static final int PARAMS = 1;
- static final int TEMPLATE = 2;
- static final Color[] defaultColors;
- Thread runner;
- Query query;
- int refreshTime;
- boolean debugInfoEnabled;
- String title;
- String titleFontName;
- Font titleFont;
- FontMetrics titleFontMetrics;
- int titleFontHeight;
- String legendFontName;
- Font legendFont;
- FontMetrics legendFontMetrics;
- int legendFontHeight;
- int legendHeight;
- int legendWidth;
- boolean legendEnabled;
- int orientation;
- int shadow;
- boolean barBorderEnabled;
- boolean showDateTime;
- String currentDateTime;
- Color backgroundColor;
- Color fontColor;
- Color lineColor;
- Vector items;
- Vector pointerToItems;
- Recordset chartData;
- int rowCount;
- int groupCount;
- int itemCount;
- int maxItemLabelWidth;
- int maxGroupLabelWidth;
- float maxValue;
- double rot;
- double elev;
- double dist;
- double distanceWidths;
- float originX;
- float originY;
- float sinRot;
- float cosRot;
- float sinElev;
- float cosElev;
- float ratio;
-
- public synchronized void init() {
- String var1 = ((Applet)this).getParameter("RefreshTime");
- if (var1 == null) {
- this.refreshTime = 0;
- } else {
- this.refreshTime = Integer.parseInt(var1);
- var1 = ((Applet)this).getParameter("RefreshDataFromURL");
- if (var1 == null) {
- this.refreshTime = 0;
- } else {
- if (var1.indexOf(63) == -1) {
- var1 = var1 + '?';
- }
-
- this.query = new Query(var1);
- this.query.addParam("RefreshTime", String.valueOf(this.refreshTime));
- }
- }
-
- var1 = ((Applet)this).getParameter("DebugInfoEnabled");
- if (var1 == null) {
- this.debugInfoEnabled = false;
- } else if (var1.toLowerCase().equals("yes")) {
- this.debugInfoEnabled = true;
- } else {
- this.debugInfoEnabled = false;
- }
-
- this.title = ((Applet)this).getParameter("Title");
- if (this.title == null) {
- this.title = "Chart";
- }
-
- this.titleFontName = ((Applet)this).getParameter("TitleFontName");
- if (this.titleFontName == null) {
- this.titleFontName = "TimesRoman";
- }
-
- var1 = ((Applet)this).getParameter("TitleFontHeight");
- if (var1 == null) {
- this.titleFontHeight = 12;
- } else {
- this.titleFontHeight = Integer.parseInt(var1);
- }
-
- this.legendFontName = ((Applet)this).getParameter("LegendFontName");
- if (this.legendFontName == null) {
- this.legendFontName = "TimesRoman";
- }
-
- var1 = ((Applet)this).getParameter("ShowLegend");
- if (var1 == null) {
- this.legendEnabled = true;
- } else if (var1.toLowerCase().equals("yes")) {
- this.legendEnabled = true;
- } else {
- this.legendEnabled = false;
- }
-
- var1 = ((Applet)this).getParameter("LegendFontHeight");
- if (var1 == null) {
- this.legendFontHeight = 10;
- } else {
- this.legendFontHeight = Integer.parseInt(var1);
- }
-
- var1 = ((Applet)this).getParameter("DrawBorders");
- if (var1 == null) {
- this.barBorderEnabled = true;
- } else if (var1.toLowerCase().equals("yes")) {
- this.barBorderEnabled = true;
- } else {
- this.barBorderEnabled = false;
- }
-
- var1 = ((Applet)this).getParameter("ShowDateTime");
- if (var1 == null) {
- this.showDateTime = true;
- } else if (var1.toLowerCase().equals("yes")) {
- this.showDateTime = true;
- } else {
- this.showDateTime = false;
- }
-
- var1 = ((Applet)this).getParameter("Rotation");
- if (var1 == null) {
- this.rot = (double)10.0F;
- } else {
- this.rot = (double)((float)Integer.parseInt(var1));
- }
-
- var1 = ((Applet)this).getParameter("Elevation");
- if (var1 == null) {
- this.elev = (double)30.0F;
- } else {
- this.elev = (double)((float)Integer.parseInt(var1));
- }
-
- var1 = ((Applet)this).getParameter("Distance");
- if (var1 == null) {
- this.distanceWidths = (double)3.0F;
- } else {
- this.distanceWidths = (double)Integer.parseInt(var1);
- }
-
- var1 = ((Applet)this).getParameter("BackgroundColor");
- if (var1 == null) {
- this.backgroundColor = ((Component)this).getBackground();
- } else {
- this.backgroundColor = new Color(Integer.valueOf(var1, 16));
- }
-
- var1 = ((Applet)this).getParameter("FontColor");
- if (var1 == null) {
- this.fontColor = Color.black;
- } else {
- this.fontColor = new Color(Integer.valueOf(var1, 16));
- }
-
- var1 = ((Applet)this).getParameter("GridLineColor");
- if (var1 == null) {
- this.lineColor = Color.gray;
- } else {
- this.lineColor = new Color(Integer.valueOf(var1, 16));
- }
-
- ((Component)this).setBackground(this.backgroundColor);
- this.rot = Math.min((double)90.0F, Math.max((double)0.0F, this.rot));
- this.elev = Math.min((double)90.0F, Math.max((double)0.0F, this.elev));
- this.distanceWidths = Math.max((double)1.0F, this.distanceWidths);
- this.sinRot = (float)Math.sin(this.rot * (double)2.0F * Math.PI / (double)360.0F);
- this.cosRot = (float)Math.cos(this.rot * (double)2.0F * Math.PI / (double)360.0F);
- this.sinElev = (float)Math.sin(this.elev * (double)2.0F * Math.PI / (double)360.0F);
- this.cosElev = (float)Math.cos(this.elev * (double)2.0F * Math.PI / (double)360.0F);
- this.titleFont = new Font(this.titleFontName, 1, this.titleFontHeight);
- this.titleFontMetrics = ((Component)this).getFontMetrics(this.titleFont);
- this.legendFont = new Font(this.legendFontName, 0, this.legendFontHeight);
- this.legendFontMetrics = ((Component)this).getFontMetrics(this.legendFont);
- this.pointerToItems = new Vector();
- this.items = new Vector();
- this.getData(1);
- }
-
- private void getData(int var1) {
- try {
- switch (var1) {
- case 1:
- this.chartData = new AppletParamRecordset(this, "ChartData");
- break;
- case 2:
- this.query.execute();
- this.chartData = this.query.getRecordset();
- }
-
- if (this.refreshTime == 0) {
- ((Applet)this).getAppletContext().showStatus("Done");
- } else {
- ((Applet)this).getAppletContext().showStatus("...");
- }
-
- this.rowCount = this.chartData.getRowCount();
- if (this.rowCount != 0) {
- this.maxValue = 0.0F;
-
- for(int var2 = 0; var2 < this.rowCount; ++var2) {
- float var5;
- try {
- var5 = (float)Math.abs(new Double(this.chartData.getData(var2 + 1, "Values")));
- } catch (Exception var7) {
- var5 = 0.0F;
- }
-
- this.maxValue = Math.max(this.maxValue, var5);
- if (var2 == 0) {
- this.groupCount = this.itemCount = 1;
- this.pointerToItems.setSize(this.rowCount);
- this.pointerToItems.setElementAt(new Integer(this.itemCount - 1), var2);
- this.items.setSize(this.itemCount);
- this.items.setElementAt(new Item(this.chartData.getData(var2 + 1, "Items")), this.itemCount - 1);
- this.maxItemLabelWidth = this.legendFontMetrics.stringWidth(this.chartData.getData(var2 + 1, "Items"));
- this.maxGroupLabelWidth = this.legendFontMetrics.stringWidth(this.chartData.getData(var2 + 1, "Groups"));
- } else {
- if (!this.chartData.getData(var2 + 1, "Groups").equals(this.chartData.getData(var2, "Groups"))) {
- this.maxGroupLabelWidth = Math.max(this.legendFontMetrics.stringWidth(this.chartData.getData(var2 + 1, "Groups")), this.maxGroupLabelWidth);
- ++this.groupCount;
- }
-
- boolean var4 = false;
-
- for(int var3 = 0; var3 < var2; ++var3) {
- if (this.chartData.getData(var2 + 1, "Items").equals(this.chartData.getData(var3 + 1, "Items"))) {
- var4 = true;
- this.pointerToItems.setElementAt(this.pointerToItems.elementAt(var3), var2);
- break;
- }
- }
-
- if (!var4) {
- ++this.itemCount;
- this.pointerToItems.setElementAt(new Integer(this.itemCount - 1), var2);
- this.items.setSize(this.itemCount);
- this.items.setElementAt(new Item(this.chartData.getData(var2 + 1, "Items")), this.itemCount - 1);
- this.maxItemLabelWidth = Math.max(this.legendFontMetrics.stringWidth(this.chartData.getData(var2 + 1, "Items")), this.maxItemLabelWidth);
- }
- }
- }
-
- for(int var9 = 0; var9 < this.itemCount; ++var9) {
- if (var9 < 9) {
- ((Item)this.items.elementAt(var9)).color = defaultColors[var9];
- } else if (var9 < 18) {
- ((Item)this.items.elementAt(var9)).color = defaultColors[var9 - 9].darker();
- } else if (var9 < 27) {
- ((Item)this.items.elementAt(var9)).color = defaultColors[var9 - 18].darker().darker();
- } else {
- ((Item)this.items.elementAt(var9)).color = Color.black;
- }
- }
- }
-
- this.currentDateTime = (new Date()).toLocaleString();
- } catch (Exception var8) {
- if (this.debugInfoEnabled) {
- Debug.write(((Throwable)var8).getMessage());
- }
-
- }
- }
-
- public void start() {
- if (this.runner == null) {
- this.runner = new Thread(this);
- this.runner.start();
- }
-
- }
-
- public void stop() {
- if (this.runner != null) {
- this.runner.stop();
- this.runner = null;
- }
-
- }
-
- public void run() {
- while(this.refreshTime != 0) {
- this.pause(this.refreshTime * 1000);
- this.getData(2);
- ((Component)this).repaint();
- }
-
- this.stop();
- }
-
- private void pause(int var1) {
- try {
- Thread.sleep((long)var1);
- } catch (InterruptedException var3) {
- if (this.debugInfoEnabled) {
- Debug.write(((Throwable)var3).getMessage());
- }
-
- }
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- if (var1.id == 504) {
- ((Applet)this).getAppletContext().showStatus("(c)1996 Allaire Corp.");
- return true;
- } else {
- return false;
- }
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- if (var1.id == 505) {
- ((Applet)this).getAppletContext().showStatus("");
- return true;
- } else {
- return false;
- }
- }
-
- public synchronized void paint(Graphics var1) {
- if (this.itemCount > 0) {
- if (this.maxValue == 0.0F) {
- this.maxValue = 1.0F;
- }
-
- int var5 = ((Component)this).size().width / 15;
- int var6 = ((Component)this).size().height / 15;
- float var16 = (float)Math.pow((double)10.0F, Math.floor(Math.log((double)this.maxValue) / Math.log((double)10.0F)));
- if (this.maxValue / var16 < 2.0F) {
- var16 /= 5.0F;
- }
-
- if (this.maxValue / var16 < 5.0F) {
- var16 /= 2.0F;
- }
-
- var1.setColor(this.fontColor);
- var1.setFont(this.titleFont);
- var1.drawString(this.title, Math.max((((Component)this).size().width - this.titleFontMetrics.stringWidth(this.title)) / 2, 0), ((Component)this).size().height - var6);
- var1.setFont(this.legendFont);
- if (this.showDateTime) {
- var1.drawString("(as of " + this.currentDateTime + ")", Math.max((((Component)this).size().width - this.legendFontMetrics.stringWidth("(as of " + this.currentDateTime + ")")) / 2, 0), ((Component)this).size().height - var6 + this.legendFontHeight * 3 / 2);
- }
-
- int var24;
- if (this.legendEnabled) {
- int var54 = Math.min((((Component)this).size().height - this.titleFontHeight - 3 * var6) / this.legendFontHeight, this.itemCount);
- int var55 = (((Component)this).size().height - this.titleFontHeight - 3 * var6) / var54;
- if (var55 > 2 * this.titleFontHeight) {
- var55 = 2 * this.titleFontHeight;
- }
-
- var24 = this.legendFontHeight * 2 + this.maxItemLabelWidth + var5;
- int var53 = var54 * var55;
- int var10 = ((Component)this).size().width - var24;
- int var11 = (((Component)this).size().height - 3 * var6 - this.titleFontHeight - var53) / 2 + var6;
- var1.drawRect(var10 - this.legendFontHeight, var11 - var55 / 2, var24 - var5 + 2 * this.legendFontHeight, var53 + var55 / 2);
-
- for(int var2 = 0; var2 < var54; ++var2) {
- var1.setColor(((Item)this.items.elementAt(var2)).color);
- var1.fillRect(var10, var11, this.legendFontHeight, this.legendFontHeight);
- if (this.barBorderEnabled) {
- var1.setColor(this.fontColor);
- var1.drawRect(var10, var11, this.legendFontHeight - 1, this.legendFontHeight - 1);
- }
-
- var1.setColor(this.fontColor);
- var1.drawString(((Item)this.items.elementAt(var2)).label, var10 + 2 * this.legendFontHeight, var11 + this.legendFontHeight - 1);
- var11 += var55;
- }
- } else {
- boolean var27 = false;
- boolean var26 = false;
- boolean var25 = false;
- var24 = 0;
- }
-
- float var13 = (float)(((Component)this).size().width - 2 * var5 - var24);
- float var14 = (float)(((Component)this).size().height - this.titleFontHeight - this.legendFontHeight - 3 * var6);
- float var21 = Math.max(var13 * 3.0F / (float)(5 * this.groupCount), (float)this.legendFontMetrics.stringWidth("O"));
- float var23 = Math.max((var13 - (float)this.groupCount * var21) / (float)this.groupCount, 0.0F);
- float var15 = (var21 + var23) * (float)this.itemCount;
- float var12 = Math.max(var14 / this.maxValue, 0.0F);
- this.dist = this.distanceWidths * (double)var13;
- this.originX = this.originY = 0.0F;
- this.ratio = 1.0F;
- float[] var31 = new float[]{-var13, 0.0F};
- float[] var32 = new float[]{-var14 / 2.0F, var14 / 2.0F};
- float[] var33 = new float[]{0.0F, -var15};
- float var37 = 0.0F;
- float var36 = 0.0F;
- float var35 = 0.0F;
- float var34 = 0.0F;
-
- for(int var41 = 0; var41 < 2; ++var41) {
- for(int var3 = 0; var3 < 2; ++var3) {
- for(int var4 = 0; var4 < 2; ++var4) {
- Point var30 = this.transferTo2D(var31[var41], var32[var3], var33[var4]);
- if (var41 == 0 && var3 == 0 && var4 == 0) {
- var34 = var35 = (float)var30.x;
- var36 = var37 = (float)var30.y;
- } else {
- var34 = Math.min(var34, (float)var30.x);
- var35 = Math.max(var35, (float)var30.x);
- var36 = Math.min(var36, (float)var30.y);
- var37 = Math.max(var37, (float)var30.y);
- }
- }
- }
- }
-
- Point var56 = this.transferTo2D(0.0F, 0.0F, 0.0F);
- this.ratio = Math.min(var13 / (var35 - var34), var14 / (var37 - var36));
- this.originX = (float)(var5 / 2) + ((float)var56.x - var34) * this.ratio + (var13 - (var35 - var34) * this.ratio) / 2.0F;
- this.originY = (float)var6 + ((float)var56.y - var36) * this.ratio + (var14 - (var37 - var36) * this.ratio) / 2.0F;
- float var7 = -var13;
- float var8 = -var14 / 2.0F;
- float var9 = -var15;
- var1.setColor(this.lineColor);
- this.draw3DLine(var1, var7, var8, var9, var7 + var13, var8, var9);
- this.draw3DLine(var1, var7, var8, var9, var7, var8, var9 + var15);
- this.draw3DLine(var1, var7, var8, var9 + var15, var7 + var13, var8, var9 + var15);
- this.draw3DLine(var1, var7 + var13, var8, var9, var7 + var13, var8, var9 + var15);
- this.draw3DLine(var1, var7, var8 + var14, var9, var7 + var13, var8 + var14, var9);
- this.draw3DLine(var1, var7, var8 + var14, var9, var7, var8 + var14, var9 + var15);
- this.draw3DLine(var1, var7, var8, var9, var7, var8 + var14, var9);
- this.draw3DLine(var1, var7, var8, var9 + var15, var7, var8 + var14, var9 + var15);
- this.draw3DLine(var1, var7 + var13, var8, var9, var7 + var13, var8 + var14, var9);
-
- for(float var17 = 0.0F; var17 < this.maxValue; var17 += var16) {
- this.draw3DLine(var1, var7, var8 + var12 * var17, var9, var7 + var13, var8 + var12 * var17, var9);
- this.draw3DLine(var1, var7, var8 + var12 * var17, var9, var7, var8 + var12 * var17, var9 + var15);
- var56 = this.transferTo2D(var7 - (float)this.legendFontMetrics.stringWidth("" + var17) - (float)(this.legendFontHeight / 2), var8 + var12 * var17, var9 + var15 + (float)this.legendFontMetrics.stringWidth("" + var17) + (float)(this.legendFontHeight / 2));
- var1.drawString("" + var17, var56.x, var56.y);
- }
-
- var7 = -var13 + var23;
- var8 = -var14 / 2.0F;
- var9 = -var15 + var23 + var21;
- float var20 = 0.0F;
- float var19 = 0.0F;
- String var29 = "";
- float var18 = 0.0F;
-
- for(int var43 = 0; var43 < this.itemCount; ++var43) {
- ((Item)this.items.elementAt(var43)).value = (double)0.0F;
- ((Item)this.items.elementAt(var43)).previousValue = (double)0.0F;
- }
-
- for(int var42 = 0; var42 < this.rowCount; ++var42) {
- int var38 = (Integer)this.pointerToItems.elementAt(var42);
-
- String var28;
- try {
- var28 = this.chartData.getData(var42 + 1, "Groups");
- } catch (Exception var40) {
- var28 = "";
- }
-
- if (var42 > 0 && !var28.equals(var29)) {
- for(int var44 = this.itemCount - 1; var44 >= 0; --var44) {
- var18 = (float)((Item)this.items.elementAt(var44)).value;
- float var22 = Math.abs(var12 * var18);
- this.draw3DBar(var1, var7, var8, var9, var21, var21, var22, ((Item)this.items.elementAt(var44)).color, "" + var18, this.barBorderEnabled);
- var9 += var21 + var23;
- }
-
- if ((float)this.legendFontMetrics.stringWidth(var29) > var21 + var23) {
- var29 = var29.substring(0, (int)((var21 + var23) / (float)this.legendFontMetrics.stringWidth(var29)));
- }
-
- var56 = this.transferTo2D(var7 + var21 / 2.0F - (float)(this.legendFontMetrics.stringWidth(var29) / 2) - (float)(this.legendFontHeight / 2), var8 - (float)this.legendFontHeight, (float)(this.legendFontMetrics.stringWidth(var29) + this.legendFontHeight));
- var1.setColor(this.fontColor);
- var1.drawString(var29, var56.x, var56.y);
- var7 += var21 + var23;
- var9 = -var15 + var23 + var21;
- var19 = 0.0F;
- }
-
- var29 = var28;
-
- try {
- var18 = (float)new Double(this.chartData.getData(var42 + 1, "Values"));
- } catch (Exception var39) {
- var18 = 0.0F;
- }
-
- var19 += Math.abs(var18);
- ((Item)this.items.elementAt(var38)).value = (double)var18;
- }
-
- for(int var45 = this.itemCount - 1; var45 >= 0; --var45) {
- var18 = (float)((Item)this.items.elementAt(var45)).value;
- float var52 = Math.abs(var12 * var18);
- this.draw3DBar(var1, var7, var8, var9, var21, var21, var52, ((Item)this.items.elementAt(var45)).color, "" + var18, this.barBorderEnabled);
- var9 += var21 + var23;
- }
-
- if ((float)this.legendFontMetrics.stringWidth(var29) > var21 + var23) {
- var29 = var29.substring(0, (int)((var21 + var23) / (float)this.legendFontMetrics.stringWidth(var29)));
- }
-
- var56 = this.transferTo2D(var7 + var21 / 2.0F - (float)(this.legendFontMetrics.stringWidth(var29) / 2) - (float)(this.legendFontHeight / 2), var8 - (float)this.legendFontHeight, (float)(this.legendFontMetrics.stringWidth(var29) + this.legendFontHeight));
- var1.setColor(this.fontColor);
- var1.drawString(var29, var56.x, var56.y);
- }
-
- }
-
- public Point transferTo2D(float var1, float var2, float var3) {
- Point var4 = new Point(0, 0);
- double var5 = (double)(this.cosRot * var1 - this.sinRot * var3);
- double var7 = (double)(-this.sinRot * this.cosElev * var1 + this.cosElev * var2 - this.cosRot * this.sinElev * var3);
- double var9 = (double)(this.sinRot * this.cosElev * var1 + this.sinElev * var2 + this.cosRot * this.cosElev * var3);
- var4.x = (int)(var5 * this.dist / (this.dist - var9) * (double)this.ratio + (double)this.originX);
- var4.y = (int)(-var7 * this.dist / (this.dist - var9) * (double)this.ratio + (double)this.originY);
- return var4;
- }
-
- public void draw3DLine(Graphics var1, float var2, float var3, float var4, float var5, float var6, float var7) {
- Point var8 = this.transferTo2D(var2, var3, var4);
- Point var9 = this.transferTo2D(var5, var6, var7);
- var1.drawLine(var8.x, var8.y, var9.x, var9.y);
- }
-
- public void draw3DBar(Graphics var1, float var2, float var3, float var4, float var5, float var6, float var7, Color var8, String var9, boolean var10) {
- Point[] var11 = new Point[8];
- int[] var12 = new int[5];
- int[] var13 = new int[5];
- var11[0] = this.transferTo2D(var2, var3, var4);
- var11[1] = this.transferTo2D(var2 + var5, var3, var4);
- var11[2] = this.transferTo2D(var2 + var5, var3, var4 - var6);
- var11[3] = this.transferTo2D(var2, var3, var4 - var6);
- var11[4] = this.transferTo2D(var2, var3 + var7, var4);
- var11[5] = this.transferTo2D(var2 + var5, var3 + var7, var4);
- var11[6] = this.transferTo2D(var2 + var5, var3 + var7, var4 - var6);
- var11[7] = this.transferTo2D(var2, var3 + var7, var4 - var6);
- if (var11[4].x - var11[3].x > var11[2].x - var11[5].x) {
- var12[0] = var11[0].x;
- var12[1] = var11[4].x;
- var12[2] = var11[7].x;
- var12[3] = var11[3].x;
- var12[4] = var11[0].x;
- var13[0] = var11[0].y;
- var13[1] = var11[4].y;
- var13[2] = var11[7].y;
- var13[3] = var11[3].y;
- var13[4] = var11[0].y;
- } else {
- var12[0] = var11[1].x;
- var12[1] = var11[2].x;
- var12[2] = var11[6].x;
- var12[3] = var11[5].x;
- var12[4] = var11[1].x;
- var13[0] = var11[1].y;
- var13[1] = var11[2].y;
- var13[2] = var11[6].y;
- var13[3] = var11[5].y;
- var13[4] = var11[1].y;
- }
-
- var1.setColor(var8.darker().darker());
- var1.fillPolygon(var12, var13, 5);
- if (var10) {
- var1.setColor(this.fontColor);
- var1.drawPolygon(var12, var13, 5);
- }
-
- var12[0] = var11[4].x;
- var12[1] = var11[5].x;
- var12[2] = var11[6].x;
- var12[3] = var11[7].x;
- var12[4] = var11[4].x;
- var13[0] = var11[4].y;
- var13[1] = var11[5].y;
- var13[2] = var11[6].y;
- var13[3] = var11[7].y;
- var13[4] = var11[4].y;
- var1.setColor(var8.darker());
- var1.fillPolygon(var12, var13, 5);
- if (var10) {
- var1.setColor(this.fontColor);
- var1.drawPolygon(var12, var13, 5);
- }
-
- var12[0] = var11[0].x;
- var12[1] = var11[1].x;
- var12[2] = var11[5].x;
- var12[3] = var11[4].x;
- var12[4] = var11[0].x;
- var13[0] = var11[0].y;
- var13[1] = var11[1].y;
- var13[2] = var11[5].y;
- var13[3] = var11[4].y;
- var13[4] = var11[0].y;
- var1.setColor(var8);
- var1.fillPolygon(var12, var13, 5);
- if (var10) {
- var1.setColor(this.fontColor);
- var1.drawPolygon(var12, var13, 5);
- }
-
- }
-
- static {
- defaultColors = new Color[]{Color.red, Color.blue, Color.green, Color.yellow, Color.magenta, Color.cyan, Color.orange, Color.pink, Color.darkGray};
- }
- }
-