home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / schema / MI.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  4.6 KB  |  150 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.MI
  11. public class class_0 extends Box {
  12.    public class_0(Box var1) {
  13.       super(var1);
  14.       super.type = 2;
  15.       super.kind = 1;
  16.    }
  17.  
  18.    public class_0() {
  19.       super.type = 2;
  20.       super.kind = 1;
  21.    }
  22.  
  23.    public class_0(Equation var1) {
  24.       super(var1);
  25.       super.type = 2;
  26.       super.kind = 1;
  27.    }
  28.  
  29.    public void size() {
  30.       super.width = 0;
  31.       super.ascent = 0;
  32.       super.descent = 0;
  33.       ((Box)this).setData();
  34.       String var4 = ((Box)this).getDeprecatedAttributePair(0, 81);
  35.       if ("small".equals(var4)) {
  36.          var4 = "" + (int)((double)super.my_view.standardPointsize(((Box)this).resolveDepth(super.depth)) * 0.8);
  37.       } else if ("big".equals(var4)) {
  38.          var4 = "" + (int)((double)super.my_view.standardPointsize(((Box)this).resolveDepth(super.depth)) * 1.35);
  39.       } else {
  40.          var4 = ((Box)this).processUnits(var4, 2, 0);
  41.       }
  42.  
  43.       if (var4 != null && !"X".equals(var4)) {
  44.          try {
  45.             ((Box)this).setrawfont(Integer.parseInt(var4));
  46.          } catch (NumberFormatException var6) {
  47.          }
  48.       } else {
  49.          ((Box)this).setfont(super.depth);
  50.       }
  51.  
  52.       super.fgcolor = ((Box)this).resolveColor(4);
  53.       super.bgcolor = ((Box)this).resolveColor(17);
  54.  
  55.       for(int var5 = 0; var5 < super.data.length; ++var5) {
  56.          ExtendedChar var1 = super.data[var5];
  57.          var1.setFont(super.fn, super.my_view.getHandler().getComponent());
  58.          int var2 = var1.getAscent();
  59.          int var3 = var1.getDescent();
  60.          if (var2 > super.ascent) {
  61.             super.ascent = var2;
  62.          }
  63.  
  64.          if (var3 > super.descent) {
  65.             super.descent = var3;
  66.          }
  67.  
  68.          if (var5 == super.data.length - 1) {
  69.             super.width += var1.getWidth();
  70.          } else {
  71.             super.width += var1.getAdvance();
  72.          }
  73.  
  74.          if (var5 == 0 && var1.getChar() == 'f' && var5 < super.data.length - 1 && var1.getFont().isItalic()) {
  75.             super.width += (int)(0.4 * (double)var1.getWidth());
  76.          }
  77.       }
  78.  
  79.       if (((Box)this).isItalic()) {
  80.          super.width += (int)(0.05 * (double)super.ascent);
  81.       }
  82.  
  83.       super.height = super.ascent + super.descent;
  84.    }
  85.  
  86.    public void paint(Graphics var1, int var2, int var3) {
  87.       ((Box)this).paintBackground(var1, var2, var3);
  88.       int var4 = var2 + super.left + super.my_view.offsetx;
  89.       int var5 = super.my_view.getDisplayWidth();
  90.       int var6 = var4;
  91.       ExtendedChar var7 = null;
  92.       if (super.my_view.linebreak) {
  93.          var7 = FontMapper.get('\\');
  94.          var7.setFont(super.fn, super.my_view.getHandler().getComponent());
  95.       }
  96.  
  97.       int var8 = 0;
  98.       int var9 = 0;
  99.  
  100.       for(int var10 = 0; var10 < super.data.length; ++var10) {
  101.          ExtendedChar var11 = super.data[var10];
  102.          if (super.my_view.linebreak && super.data.length > 10 && (super.breakLookAhead > 0 && super.width - var9 - (var4 - var6) < super.breakLookAhead && var4 + var7.getWidth() + var11.getAdvance() + super.breakLookAhead > var5 || var4 + var7.getWidth() + var11.getAdvance() > var5) && (var4 + var11.getAdvance() + super.breakLookAhead > var5 || var10 != super.data.length - 1)) {
  103.             if (super.reverse_video) {
  104.                CharRender.paint(var1, var7, var4, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  105.             } else {
  106.                CharRender.paint(var1, var7, var4, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  107.             }
  108.  
  109.             Integer var12 = new Integer(var4 - super.my_view.offsetx);
  110.             super.my_view.breaks.addElement(var12);
  111.             var9 += var4 - var6;
  112.             super.my_view.offsetx = super.my_view.indent - var9 - var2 - super.left;
  113.             Equation var10000 = super.my_view;
  114.             var10000.offsety += 5 + super.my_view.root.getHeight();
  115.             var4 = super.my_view.indent;
  116.             var6 = var4;
  117.             ((Box)this).rvPaint(var1, var2 + super.left + super.my_view.offsetx + var9, var3 + super.top + super.my_view.offsety, super.width - var9, super.height);
  118.          }
  119.  
  120.          if (var10 == 0 && var11.getChar() == 'f' && var11.getFont().isItalic()) {
  121.             var8 = (int)(0.4 * (double)var11.getWidth());
  122.          } else {
  123.             var8 = 0;
  124.          }
  125.  
  126.          if (super.reverse_video) {
  127.             CharRender.paint(var1, var11, var4 + var8, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  128.          } else {
  129.             CharRender.paint(var1, var11, var4 + var8, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  130.          }
  131.  
  132.          var4 += var11.getAdvance() + var8;
  133.       }
  134.  
  135.       super.absleft = var2 + super.left;
  136.       super.abstop = var3 + super.top;
  137.    }
  138.  
  139.    public void printSelected(String var1, OutputHandler var2, boolean var3, boolean var4, String var5, boolean var6, int var7) {
  140.       if (!var3 || super.reverse_video) {
  141.          if (var6 && super.cpeer != null) {
  142.             super.cpeer.printSelected(var1, var2, var3, var4, var5, var6, var7);
  143.          } else {
  144.             var2.println(var1 + ((Box)this).make_head(false, var5) + ((Box)this).unicodeData(var7) + "</" + ((Box)this).make_tag(var5) + ">");
  145.          }
  146.       }
  147.  
  148.    }
  149. }
  150.