home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / schema / MS.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  5.3 KB  |  189 lines

  1. package webeq3.schema;
  2.  
  3. import java.awt.Graphics;
  4. import webeq3.app.Equation;
  5. import webeq3.constants.FontMapper;
  6. import webeq3.fonts.CharRender;
  7. import webeq3.fonts.ExtendedChar;
  8. import webeq3.util.OutputHandler;
  9.  
  10. // $FF: renamed from: webeq3.schema.MS
  11. public class class_0 extends Box {
  12.    ExtendedChar[] lchars = null;
  13.    ExtendedChar[] rchars = null;
  14.  
  15.    public class_0(Box var1) {
  16.       super(var1);
  17.       super.type = 2;
  18.    }
  19.  
  20.    public class_0() {
  21.       super.type = 2;
  22.    }
  23.  
  24.    public class_0(Equation var1) {
  25.       super(var1);
  26.       super.type = 2;
  27.    }
  28.  
  29.    public void size() {
  30.       this.lchars = null;
  31.       this.rchars = null;
  32.       ((Box)this).setData();
  33.       String var1 = ((Box)this).getDeprecatedAttributePair(0, 81);
  34.       if ("small".equals(var1)) {
  35.          var1 = "" + (int)((double)super.my_view.standardPointsize(((Box)this).resolveDepth(super.depth)) * 0.8);
  36.       } else if ("big".equals(var1)) {
  37.          var1 = "" + (int)((double)super.my_view.standardPointsize(((Box)this).resolveDepth(super.depth)) * 1.35);
  38.       } else {
  39.          var1 = ((Box)this).processUnits(var1, 2, 0);
  40.       }
  41.  
  42.       if (var1 != null && !"X".equals(var1)) {
  43.          try {
  44.             ((Box)this).setrawfont(Integer.parseInt(var1));
  45.          } catch (NumberFormatException var6) {
  46.          }
  47.       } else {
  48.          ((Box)this).setfont(super.depth);
  49.       }
  50.  
  51.       super.fgcolor = ((Box)this).resolveColor(4);
  52.       super.bgcolor = ((Box)this).resolveColor(17);
  53.       String var2 = ((Box)this).getAttributeByIndex(18);
  54.       String var3 = ((Box)this).getAttributeByIndex(19);
  55.       this.lchars = new ExtendedChar[var2.length()];
  56.       this.rchars = new ExtendedChar[var3.length()];
  57.  
  58.       for(int var4 = 0; var4 < var2.length(); ++var4) {
  59.          this.lchars[var4] = FontMapper.get(var2.charAt(var4));
  60.       }
  61.  
  62.       for(int var5 = 0; var5 < var3.length(); ++var5) {
  63.          this.rchars[var5] = FontMapper.get(var3.charAt(var5));
  64.       }
  65.  
  66.       this.size_helper(this.lchars);
  67.       this.size_helper(super.data);
  68.       this.size_helper(this.rchars);
  69.       super.height = super.ascent + super.descent;
  70.    }
  71.  
  72.    public void paint(Graphics var1, int var2, int var3) {
  73.       int var5 = var2 + super.left + super.my_view.offsetx;
  74.       int var6 = super.my_view.getDisplayWidth();
  75.       int var7 = var5;
  76.       int var8 = 0;
  77.       ExtendedChar var9 = FontMapper.get('\\');
  78.       var9.setFont(super.fn, super.my_view.getHandler().getComponent());
  79.       ((Box)this).paintBackground(var1, var2, var3);
  80.       int var10 = 0;
  81.       int var11 = 0;
  82.       if (super.my_view.linebreak) {
  83.          for(int var12 = 0; var12 < this.lchars.length; ++var12) {
  84.             ExtendedChar var4 = this.lchars[var12];
  85.             var10 += var4.getAdvance();
  86.          }
  87.  
  88.          for(int var13 = 0; var13 < this.rchars.length; ++var13) {
  89.             ExtendedChar var15 = this.rchars[var13];
  90.             var11 += var15.getAdvance();
  91.          }
  92.  
  93.          if (super.my_view.linebreak && super.data.length > 10 && var5 + var10 + super.data[0].getAdvance() > var6) {
  94.             super.my_view.breaks.addElement(new Integer(var5 - super.my_view.offsetx));
  95.             var8 += var5 - var5;
  96.             super.my_view.offsetx = super.my_view.indent - var8 - var2 - super.left;
  97.             Equation var10000 = super.my_view;
  98.             var10000.offsety += 5 + super.my_view.root.getHeight();
  99.             var5 = super.my_view.indent;
  100.             var7 = var5;
  101.             ((Box)this).rvPaint(var1, var2 + super.left + super.my_view.offsetx + var8, var3 + super.top + super.my_view.offsety, super.width - var8, super.height);
  102.          }
  103.       }
  104.  
  105.       for(int var19 = 0; var19 < this.lchars.length; ++var19) {
  106.          ExtendedChar var16 = this.lchars[var19];
  107.          if (super.reverse_video) {
  108.             CharRender.paint(var1, var16, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  109.          } else {
  110.             CharRender.paint(var1, var16, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  111.          }
  112.  
  113.          var5 += var16.getAdvance();
  114.       }
  115.  
  116.       for(int var20 = 0; var20 < super.data.length; ++var20) {
  117.          ExtendedChar var17 = super.data[var20];
  118.          if (super.my_view.linebreak && super.data.length > 10 && (super.breakLookAhead > 0 && super.width - var8 - (var5 - var7) < super.breakLookAhead && var5 + var9.getWidth() + var17.getAdvance() + var11 + super.breakLookAhead > var6 || var5 + var9.getWidth() + var17.getAdvance() + var11 > var6) && (var5 + var11 + var17.getAdvance() + super.breakLookAhead > var6 || var20 != super.data.length - 1)) {
  119.             if (super.reverse_video) {
  120.                CharRender.paint(var1, var9, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  121.             } else {
  122.                CharRender.paint(var1, var9, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  123.             }
  124.  
  125.             super.my_view.breaks.addElement(new Integer(var5 - super.my_view.offsetx));
  126.             var8 += var5 - var7;
  127.             super.my_view.offsetx = super.my_view.indent - var8 - var2 - super.left;
  128.             Equation var21 = super.my_view;
  129.             var21.offsety += 5 + super.my_view.root.getHeight();
  130.             var5 = super.my_view.indent;
  131.             var7 = var5;
  132.             ((Box)this).rvPaint(var1, var2 + super.left + super.my_view.offsetx + var8, var3 + super.top + super.my_view.offsety, super.width - var8, super.height);
  133.          }
  134.  
  135.          if (super.reverse_video) {
  136.             CharRender.paint(var1, var17, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  137.          } else {
  138.             CharRender.paint(var1, var17, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  139.          }
  140.  
  141.          var5 += var17.getAdvance();
  142.       }
  143.  
  144.       for(int var14 = 0; var14 < this.rchars.length; ++var14) {
  145.          ExtendedChar var18 = this.rchars[var14];
  146.          if (super.reverse_video) {
  147.             CharRender.paint(var1, var18, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  148.          } else {
  149.             CharRender.paint(var1, var18, var5, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  150.          }
  151.  
  152.          var5 += var18.getAdvance();
  153.       }
  154.  
  155.       super.absleft = var2 + super.left;
  156.       super.abstop = var3 + super.top;
  157.    }
  158.  
  159.    private void size_helper(ExtendedChar[] var1) {
  160.       for(int var5 = 0; var5 < var1.length; ++var5) {
  161.          ExtendedChar var2 = var1[var5];
  162.          var2.setFont(super.fn, super.my_view.getHandler().getComponent());
  163.          int var3 = var2.getAscent();
  164.          int var4 = var2.getDescent();
  165.          if (var3 > super.ascent) {
  166.             super.ascent = var3;
  167.          }
  168.  
  169.          if (var4 > super.descent) {
  170.             super.descent = var4;
  171.          }
  172.  
  173.          super.width += var2.getAdvance();
  174.       }
  175.  
  176.    }
  177.  
  178.    public void printSelected(String var1, OutputHandler var2, boolean var3, boolean var4, String var5, boolean var6, int var7) {
  179.       if (!var3 || super.reverse_video) {
  180.          if (var6 && super.cpeer != null) {
  181.             super.cpeer.printSelected(var1, var2, var3, var4, var5, var6, var7);
  182.          } else {
  183.             var2.println(var1 + ((Box)this).make_head(false, var5) + ((Box)this).unicodeData(var7) + "</" + ((Box)this).make_tag(var5) + ">");
  184.          }
  185.       }
  186.  
  187.    }
  188. }
  189.