home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Canvas;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
-
- public final class TOCCanvas extends Canvas {
- // $FF: renamed from: Ã TOC
- private TOC field_0;
- // $FF: renamed from: Ä TOCScroller
- private TOCScroller field_1;
- public Image offScrImg;
- // $FF: renamed from: Å java.awt.Graphics
- private Graphics field_2;
- // $FF: renamed from: Æ int
- private int field_3;
- // $FF: renamed from: Ç int
- private int field_4;
- // $FF: renamed from: È int
- private int field_5;
- // $FF: renamed from: É int
- private int field_6;
- // $FF: renamed from: Ê int
- private int field_7;
- // $FF: renamed from: Ë int
- private int field_8;
- // $FF: renamed from: Ì int
- private int field_9;
- public int xMax;
- public int yMax;
- // $FF: renamed from: Í int
- private int field_10;
- // $FF: renamed from: Î int
- private int field_11;
- public boolean fUpdate;
- public boolean fPaint;
- public boolean fCalculating;
- // $FF: renamed from: Ï java.lang.String[]
- private String[] field_12 = new String[3];
- // $FF: renamed from: Ð java.awt.Color
- private Color field_13 = new Color(255, 255, 192);
- // $FF: renamed from: Ñ int
- private int field_14;
-
- public TOCCanvas(TOC var1, TOCScroller var2) {
- this.field_0 = var1;
- this.field_1 = var2;
- this.field_10 = 0;
- this.field_11 = 0;
- this.field_8 = -1;
- this.field_9 = -1;
- this.field_14 = -1;
- }
-
- public void paint(Graphics var1) {
- if (!this.field_0.fLicense && this.field_0.fInitDone) {
- var1.setColor(Color.white);
- var1.fillRect(0, 0, this.field_10, this.field_11);
- var1.setColor(Color.black);
- var1.setFont(new Font("Courier", 0, 18));
- var1.drawString("Unauthorized copy", 10, 25);
- var1.setFont(new Font("Courier", 0, 12));
- var1.drawString("Please request a license from the author", 10, 50);
- var1.drawString("101337.1424@compuserve.com", 10, 66);
- this.fPaint = false;
- } else if (!this.fPaint) {
- this.field_0.TOCDrawImage(var1, this.offScrImg, 0, 0, this.field_0);
- } else {
- if (this.field_0.imgBackground == null) {
- var1.setColor(this.field_0.bgC);
- var1.fillRect(0, 0, this.field_10, this.field_11);
- } else {
- if (this.field_8 == -1) {
- this.field_8 = this.field_0.imgBackground.getWidth(this.field_0);
- this.field_9 = this.field_0.imgBackground.getHeight(this.field_0);
- }
-
- for(int var2 = 0; var2 <= this.field_10; var2 += this.field_8) {
- for(int var3 = 0; var3 <= this.field_11; var3 += this.field_9) {
- this.field_0.TOCDrawImage(var1, this.field_0.imgBackground, var2, var3, this.field_0);
- }
- }
- }
-
- if (this.field_0.fScriptToLoad && this.field_0.fShowLoading) {
- if (this.field_14 == -1) {
- this.field_14 = this.field_0.standardFM.stringWidth("Loading. Please wait ...");
- }
-
- var1.setFont(this.field_0.standardF);
- var1.setColor(this.field_0.textC);
- var1.drawString("Loading. Please wait ...", (this.field_10 - this.field_14) / 2, this.field_11 / 2);
- this.fPaint = false;
- } else {
- while(this.fCalculating) {
- this.field_0.wait(1);
- }
-
- this.fCalculating = true;
- this.paintTree(var1, this.field_0.TOCAnchor, 0, false);
- this.fCalculating = false;
- if ((this.field_0.helpItem != null || this.field_0.helpScroll != null) && this.field_0.helpCounter > 2) {
- Object var13 = null;
- int var4 = 0;
- int var5 = 1;
- String var14;
- if (this.field_0.helpItem != null) {
- var14 = this.field_0.helpItem.helpText;
- } else {
- var14 = this.field_0.helpScroll.helpText;
- }
-
- String var15 = var14;
- var4 = this.field_0.helpFM.stringWidth(var14) + 8;
- int var8 = 0;
-
- do {
- this.field_12[var8] = null;
- ++var8;
- } while(var8 < 3);
-
- if (var4 <= this.field_10) {
- this.field_12[0] = var14;
- } else {
- var4 = 0;
- int var11 = -1;
- var8 = 0;
-
- do {
- var14 = var14.trim();
- int var9 = 0;
- int var10 = -1;
-
- while(var9 < this.field_10) {
- var10 = var14.indexOf(" ", var10 + 1);
- String var12;
- if (var10 == -1) {
- var12 = var14;
- } else {
- var12 = var14.substring(0, var10);
- }
-
- var9 = this.field_0.helpFM.stringWidth(var12) + 8;
- if (var9 < this.field_10) {
- if (var9 > var4) {
- var4 = var9;
- }
-
- this.field_12[var8] = var12;
- var11 = var10;
- }
-
- if (var10 == -1) {
- var9 = this.field_10;
- }
- }
-
- if (var8 == 2 && var11 != -1) {
- if (this.field_12[var8] != null) {
- this.field_12[var8] = this.field_12[var8].concat(" ...");
- } else {
- this.field_12[var8] = "...";
- }
- }
-
- if (var11 != -1) {
- var14 = var14.substring(var11 + 1);
- } else {
- var8 = 3;
- }
-
- ++var8;
- } while(var8 < 3);
- }
-
- if (var4 == 0) {
- var4 = this.field_10 + 1;
- }
-
- var8 = 0;
-
- do {
- if (this.field_12[var8] != null && this.field_12[var8].length() > 0) {
- var5 = var8 + 1;
- }
-
- ++var8;
- } while(var8 < 3);
-
- if (var5 == 0) {
- var5 = 1;
- this.field_12[0] = var15;
- }
-
- int var20 = var5 * this.field_0.helpFM.getHeight() + 2;
- int var21 = this.field_0.helpFM.getHeight();
- int var6;
- int var7;
- if (this.field_0.helpItem != null) {
- var6 = this.field_0.helpItem.Textx1 + 4;
- var7 = this.field_0.helpItem.Texty2 + 1;
- if (var7 + var20 > this.field_11) {
- var7 = this.field_0.helpItem.Texty1 - var20 - 1;
- }
- } else {
- var6 = this.field_0.Info.xHelp;
- var7 = this.field_11 - var20 - 2;
- }
-
- if (var6 + var4 > this.field_10) {
- var6 -= var6 + var4 - this.field_10 + 1;
- }
-
- if (var6 < 0) {
- var6 = 0;
- }
-
- if (var7 > 0) {
- var1.setColor(this.field_13);
- var1.fillRect(var6, var7, var4, var20);
- var1.setColor(Color.black);
- var1.drawRect(var6, var7, var4, var20);
- var1.setFont(this.field_0.helpF);
-
- for(int var19 = 0; var19 < var5; ++var19) {
- if (this.field_12[var19] != null) {
- var1.drawString(this.field_12[var19], var6 + 4, var7 + var19 * var21 + this.field_0.helpFM.getAscent());
- }
- }
- }
- }
-
- this.fPaint = false;
- }
- }
- }
-
- // $FF: renamed from: Ã (java.awt.Graphics, int, int, int, int) void
- private final void method_0(Graphics var1, int var2, int var3, int var4, int var5) {
- if (var1 != null) {
- var1.setColor(this.field_0.lineC);
- if (var2 == var4) {
- for(int var7 = var3; var7 <= var5; var7 += 2) {
- var1.drawLine(var2, var7, var4, var7);
- }
-
- } else {
- for(int var6 = var2; var6 <= var4; var6 += 2) {
- var1.drawLine(var6, var3, var6, var5);
- }
-
- }
- }
- }
-
- public void update(Graphics var1) {
- this.field_6 = ((Component)this).size().width;
- this.field_7 = ((Component)this).size().height;
- if (this.field_6 == 0) {
- this.fUpdate = true;
- } else {
- if (this.offScrImg == null || this.field_6 != this.field_10 || this.field_7 != this.field_11) {
- if (this.offScrImg != null) {
- this.field_2.dispose();
- this.offScrImg.flush();
- }
-
- this.offScrImg = this.field_0.TOCCreateImage(this.field_6, this.field_7);
- this.field_2 = this.offScrImg.getGraphics();
- this.field_10 = this.field_6;
- this.field_11 = this.field_7;
- this.field_0.fRepaint = true;
- }
-
- int var2 = 200;
- this.fPaint = true;
- this.paint(this.field_2);
-
- while(this.fPaint) {
- --var2;
- if (var2 <= 0) {
- break;
- }
-
- this.field_0.wait(1);
- }
-
- this.fPaint = false;
- this.field_0.TOCDrawImage(var1, this.offScrImg, 0, 0, this.field_0);
- this.fUpdate = false;
- }
- }
-
- public final void paintTree(Graphics var1, TOCTreeItem var2, int var3, boolean var4) {
- if (var2 == this.field_0.TOCAnchor) {
- this.field_3 = 0;
- this.field_4 = this.field_0.xOff - this.field_1.xScroll;
- this.field_5 = this.field_0.yOff - this.field_1.yScroll;
- if (var4) {
- this.xMax = 0;
- this.yMax = 0;
- }
- }
-
- boolean var5 = true;
- int var6 = this.field_4;
- int var7 = this.field_5;
- int var8 = this.field_5;
- byte var9 = 8;
- int var10 = 0;
- int var11 = var9 / 2;
- int var17 = 0;
- int var18 = 0;
-
- while(var2 != null) {
- if (this.field_5 > this.field_7 && !var4) {
- var2 = var2.next;
- } else {
- Font var19;
- FontMetrics var20;
- if (var2.textFont != null) {
- var19 = var2.textFont;
- var20 = ((Component)this).getFontMetrics(var19);
- } else {
- var19 = this.field_0.standardF;
- var20 = this.field_0.standardFM;
- }
-
- Color var21;
- if (var2.textColor != null) {
- var21 = var2.textColor;
- } else {
- var21 = this.field_0.textC;
- }
-
- int var16 = var20.getAscent();
- if (var9 > var16) {
- var16 = var9;
- }
-
- if (var2.isSelected) {
- if (var2.imageOpen != null) {
- var10 = var2.imgOpenHeight;
- if (var10 > var16) {
- var16 = var10;
- }
- } else if (var2.image != null) {
- var10 = var2.imgHeight;
- if (var10 > var16) {
- var16 = var10;
- }
- }
- } else if (var2.image != null) {
- var10 = var2.imgHeight;
- if (var10 > var16) {
- var16 = var10;
- }
- }
-
- int var12 = this.field_5 + var16 - (var16 - var20.getAscent()) / 2;
- int var13 = this.field_5 + var16 - (var16 - var9) / 2 + 1;
- int var15 = this.field_5 + (var16 - var10) / 2 + 1;
- int var14 = this.field_5 + var16 + var20.getDescent() + var20.getLeading() + 2;
- if (var14 + this.field_1.yScroll > this.yMax) {
- this.yMax = var14 + this.field_1.yScroll;
- }
-
- if (var5) {
- if (this.field_3 > 0) {
- var7 = var3;
- } else if (var2.child != null) {
- var7 = var13 + 2;
- } else {
- var7 = var13 - var9 / 2;
- }
-
- var5 = false;
- }
-
- if (var14 > 0) {
- var17 = this.field_4 + var11 + 1;
- if (var2.child != null) {
- var2.Symbolx1 = this.field_4 + 1;
- var2.Symboly1 = var13 - var9;
- var2.Symbolx2 = var2.Symbolx1 + var9 + 4;
- var2.Symboly2 = var2.Symboly1 + var9;
- if (!var4) {
- var1.setColor(this.field_0.lineC);
- var1.drawRect(var2.Symbolx1, var2.Symboly1, var9, var9);
- var1.setColor(this.field_0.plusC);
- var1.drawLine(this.field_4 + 3, var13 - var11, this.field_4 + (var9 - 1), var13 - var11);
- if (!var2.isExpanded) {
- var1.drawLine(this.field_4 + 1 + var11, var13 - 2, this.field_4 + 1 + var11, var13 - var9 + 2);
- }
- }
-
- this.field_4 += var9 + 3;
- var8 = var13 - var9 - 2;
- } else {
- this.field_4 += var9 / 2 + 3;
- var8 = var13 - var11;
- }
-
- if (!var4) {
- var18 = var13 - var11;
- this.method_0(var1, this.field_4, var18, var6 + var9 + 16 + (this.field_0.xIndent - 13), var18);
- }
- }
-
- if (var2.child != null) {
- if (!var4) {
- this.method_0(var1, var17, var7, var17, var8);
- }
-
- var7 = var13 + 2;
- }
-
- this.field_4 = var6 + var9 + 20 + (this.field_0.xIndent - 13);
- var2.Textx1 = this.field_4;
- if (var14 > 0) {
- if (var2.isSelected) {
- if (var2.imageOpen != null) {
- if (!var4) {
- this.field_0.TOCDrawImage(var1, var2.imageOpen, this.field_4, var15, this.field_0);
- }
-
- this.field_4 += var2.imgOpenWidth + 6;
- } else if (var2.image != null) {
- if (!var4) {
- this.field_0.TOCDrawImage(var1, var2.image, this.field_4, var15, this.field_0);
- }
-
- this.field_4 += var2.imgWidth + 6;
- }
- } else if (var2.image != null) {
- if (!var4) {
- this.field_0.TOCDrawImage(var1, var2.image, this.field_4, var15, this.field_0);
- }
-
- this.field_4 += var2.imgWidth + 6;
- }
- }
-
- var2.Texty1 = var12 - var20.getAscent() - 1;
- var2.Textx2 = this.field_4 + var20.stringWidth(var2.text) + 2;
- var2.Texty2 = var12 + var20.getDescent() + 1;
- if (var4 && this.field_4 + var20.stringWidth(var2.text) + 2 + this.field_1.xScroll > this.xMax) {
- this.xMax = this.field_4 + var20.stringWidth(var2.text) + 2 + this.field_1.xScroll;
- }
-
- if (var14 > 0 && !var4) {
- if (var2.isSelected && this.field_0.imgSelection == null) {
- var1.setColor(var21);
- var1.fillRect(this.field_4, var2.Texty1, var20.stringWidth(var2.text) + 2, var2.Texty2 - var2.Texty1);
- var1.setColor(this.field_0.reversC);
- } else {
- var1.setColor(var21);
- }
-
- if (var2.isSelected && this.field_0.imgSelection != null) {
- int var22 = this.field_5 + (var16 - this.field_0.imgSelection.getHeight(this.field_0)) / 2 + 1;
- this.field_0.TOCDrawImage(var1, this.field_0.imgSelection, this.field_4 + 1, var22, this.field_0);
- this.field_4 += this.field_0.imgSelection.getWidth(this.field_0) + 2;
- }
-
- var1.setFont(var19);
- var1.drawString(var2.text, this.field_4 + 1, var12);
- }
-
- this.field_5 = var14;
- if (var2.child != null && var2.isExpanded) {
- this.field_4 = var6 + this.field_0.xIndent;
- ++this.field_3;
- this.paintTree(var1, var2.child, var13 - var11, var4);
- this.field_3 += -1;
- }
-
- this.field_4 = var6;
- var2 = var2.next;
- }
- }
-
- if (!var4) {
- var17 = this.field_4 + var11 + 1;
- this.method_0(var1, var17, var7, var17, var8);
- }
-
- }
- }
-