home *** CD-ROM | disk | FTP | other *** search
- package webeq3.schema;
-
- import java.awt.Graphics;
- import webeq3.app.Equation;
-
- public class MPhantom extends Box {
- int currentx = 0;
- int currenty = 0;
- // $FF: renamed from: em int
- int field_0 = 0;
- boolean phantom = true;
-
- public MPhantom(Box var1) {
- super(var1);
- super.type = 68;
- }
-
- public MPhantom() {
- super.type = 68;
- }
-
- public MPhantom(Equation var1) {
- super(var1);
- super.type = 68;
- }
-
- public void size() {
- super.width = 0;
- super.ascent = 0;
- super.descent = 0;
- ((Box)this).setfont(super.depth);
- this.field_0 = super.fm.charWidth('M');
- super.atomic = false;
- super.size();
- int var1 = 0;
- int var2 = 0;
- int var3 = super.children.size();
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Box var4 = ((Box)this).getChild(var5);
- if (var4.is_spacelike) {
- ++var1;
- }
-
- if (var4.embellished_op) {
- ++var2;
- }
- }
-
- if (var1 == var3) {
- super.is_spacelike = true;
- }
-
- if (var1 == var3 - 1 && var2 == 1) {
- super.embellished_op = true;
- }
-
- double var6 = (double)0.0F;
- double var8 = (double)0.0F;
- double var10 = (double)0.0F;
- String var12 = ((Box)this).getAttributeByIndex(14);
- if (!"".equals(var12)) {
- try {
- var6 = Double.valueOf(var12);
- super.width = (int)(var6 * (double)this.field_0);
- } catch (NumberFormatException var16) {
- }
- }
-
- var12 = ((Box)this).getAttributeByIndex(15);
- if (!"".equals(var12)) {
- try {
- var8 = Double.valueOf(var12);
- super.ascent = (int)(var8 * (double)super.xheight);
- } catch (NumberFormatException var15) {
- }
- }
-
- var12 = ((Box)this).getAttributeByIndex(16);
- if (!"".equals(var12)) {
- try {
- var10 = Double.valueOf(((Box)this).getAttributeByIndex(16));
- super.descent = (int)(var10 * (double)super.xheight);
- } catch (NumberFormatException var14) {
- }
- }
-
- super.height = super.ascent + super.descent;
- String var13 = ((Box)this).getAttributeByIndex(48);
- if (var13 != null && var13.length() == 1) {
- this.phantom = false;
- this.currenty = super.ascent;
- switch (var13.charAt(0)) {
- case 'd':
- super.ascent = 0;
- super.descent = 0;
- super.height = 0;
- break;
- case 'l':
- this.currentx = -super.width;
- super.width = 0;
- break;
- case 'r':
- super.width = 0;
- break;
- case 'u':
- this.currenty = -super.descent;
- super.ascent = 0;
- super.descent = 0;
- super.height = 0;
- }
-
- }
- }
-
- public void position() {
- int var2 = this.currentx;
- int var3 = super.children.size();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Box var1 = ((Box)this).getChild(var4);
- var1.setLeft(var2);
- var1.setTop(this.currenty - var1.getAscent());
- var2 += var1.getWidth();
- }
-
- }
-
- public void paint(Graphics var1, int var2, int var3) {
- if (!this.phantom) {
- super.paint(var1, var2, var3);
- } else if (super.my_view.linebreak) {
- ((Box)this).paintBackground(var1, var2, var3);
- int var4 = var2 + super.left + super.my_view.offsetx;
- int var5 = super.my_view.getDisplayWidth();
- var5 -= super.breakLookAhead;
- if (var4 + super.width > var5) {
- int var6 = (var4 + super.width) / var5;
- int var7 = var4 + super.width - var6 * var5;
- Integer var8 = new Integer(var5 - super.my_view.offsetx);
- super.my_view.breaks.addElement(var8);
-
- for(int var9 = 1; var9 < var6; ++var9) {
- var8 = new Integer(var5 - super.my_view.offsetx + var9 * (var5 - super.my_view.indent));
- super.my_view.breaks.addElement(var8);
- ((Box)this).rvPaint(var1, super.my_view.indent, var3 + super.top + super.my_view.offsety + var9 * (5 + super.my_view.root.getHeight()), super.width - (var5 - var4) - (var9 - 1) * (var5 - super.my_view.indent), super.height);
- }
-
- super.my_view.offsetx = super.my_view.indent - var4 - (super.width - var7);
- Equation var10000 = super.my_view;
- var10000.offsety += var6 * (5 + super.my_view.root.getHeight());
- ((Box)this).rvPaint(var1, super.my_view.indent, var3 + super.top + super.my_view.offsety, var7, super.height);
- }
- }
-
- super.absleft = var2 + super.left;
- super.abstop = var3 + super.top;
- }
- }
-