home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / schema / MText.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  3.4 KB  |  138 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.  
  9. public class MText extends MN {
  10.    public MText(Box var1) {
  11.       super(var1);
  12.       super.type = 2;
  13.       super.kind = 0;
  14.       super.is_spacelike = true;
  15.    }
  16.  
  17.    public MText() {
  18.       super.type = 2;
  19.       super.kind = 0;
  20.       super.is_spacelike = true;
  21.    }
  22.  
  23.    public MText(Equation var1) {
  24.       super(var1);
  25.       super.type = 2;
  26.       super.kind = 0;
  27.       super.is_spacelike = true;
  28.    }
  29.  
  30.    public void size() {
  31.       super.size();
  32.       super.is_spacelike = true;
  33.    }
  34.  
  35.    public void paint(Graphics var1, int var2, int var3) {
  36.       ((Box)this).paintBackground(var1, var2, var3);
  37.       int var4 = super.my_view.getDisplayWidth();
  38.       if (super.my_view.linebreak) {
  39.          int var5 = var2 + super.left + super.my_view.offsetx;
  40.          int var6 = var5;
  41.          int var7 = var5;
  42.          ExtendedChar var8 = FontMapper.get('\\');
  43.          var8.setFont(super.fn, super.my_view.getHandler().getComponent());
  44.          int var9 = 0;
  45.          int var10 = 0;
  46.          boolean var11 = true;
  47.          int var12 = 0;
  48.  
  49.          for(int var13 = 0; var13 < super.data.length; ++var13) {
  50.             ExtendedChar var14 = super.data[var13];
  51.             if (this.isWhiteSpace(var14) && var13 < super.data.length - 1) {
  52.                var9 = var13 + 1;
  53.             }
  54.  
  55.             if ((super.breakLookAhead > 0 && super.width + var2 + super.left + super.my_view.offsetx - var5 < super.breakLookAhead && var5 + var8.getWidth() + var14.getAdvance() + super.breakLookAhead > var4 || var5 + var8.getWidth() + var14.getAdvance() > var4) && (var5 + var14.getAdvance() > var4 || var13 != super.data.length - 1)) {
  56.                boolean var15 = false;
  57.                if (var9 <= var10) {
  58.                   if (var13 > 1) {
  59.                      var9 = var13;
  60.                      var15 = true;
  61.                   } else {
  62.                      var9 = 0;
  63.                      var15 = false;
  64.                   }
  65.                }
  66.  
  67.                for(int var17 = var10; var17 < var9; ++var17) {
  68.                   ExtendedChar var16 = super.data[var17];
  69.                   if (super.reverse_video) {
  70.                      CharRender.paint(var1, var16, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  71.                   } else {
  72.                      CharRender.paint(var1, var16, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  73.                   }
  74.  
  75.                   var6 += var16.getAdvance();
  76.                }
  77.  
  78.                if (var15) {
  79.                   if (super.reverse_video) {
  80.                      CharRender.paint(var1, var8, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  81.                   } else {
  82.                      CharRender.paint(var1, var8, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  83.                   }
  84.                }
  85.  
  86.                var12 += var6 - var7;
  87.                Integer var18 = new Integer(var6 - super.my_view.offsetx);
  88.                super.my_view.breaks.addElement(var18);
  89.                int var19 = var6 - super.my_view.indent;
  90.                Equation var10000 = super.my_view;
  91.                var10000.offsetx -= var19;
  92.                var10000 = super.my_view;
  93.                var10000.offsety += 5 + super.my_view.root.getHeight();
  94.                var5 -= var19;
  95.                var6 = super.my_view.indent;
  96.                var7 = var6;
  97.                var10 = var9;
  98.                ((Box)this).rvPaint(var1, var2 + super.left + super.my_view.offsetx + var12, var3 + super.top + super.my_view.offsety, super.width - var12, super.height);
  99.             }
  100.  
  101.             var5 += var14.getAdvance();
  102.          }
  103.  
  104.          for(int var23 = var10; var23 < super.data.length; ++var23) {
  105.             ExtendedChar var24 = super.data[var23];
  106.             if (super.reverse_video) {
  107.                CharRender.paint(var1, var24, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  108.             } else {
  109.                CharRender.paint(var1, var24, var6, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  110.             }
  111.  
  112.             var6 += var24.getAdvance();
  113.          }
  114.       } else {
  115.          int var21 = var2 + super.left + super.my_view.offsetx;
  116.  
  117.          for(int var22 = 0; var22 < super.data.length; ++var22) {
  118.             ExtendedChar var20 = super.data[var22];
  119.             if (super.reverse_video) {
  120.                CharRender.paint(var1, var20, var21, var3 + super.top + super.my_view.offsety + super.ascent, super.bgcolor, super.fgcolor, super.my_view.getHandler().getComponent());
  121.             } else {
  122.                CharRender.paint(var1, var20, var21, var3 + super.top + super.my_view.offsety + super.ascent, super.fgcolor, super.bgcolor, super.my_view.getHandler().getComponent());
  123.             }
  124.  
  125.             var21 += var20.getAdvance();
  126.          }
  127.       }
  128.  
  129.       super.absleft = var2 + super.left;
  130.       super.abstop = var3 + super.top;
  131.    }
  132.  
  133.    private boolean isWhiteSpace(ExtendedChar var1) {
  134.       char var2 = var1.getChar();
  135.       return var2 == 8201 || var2 == 160 || var2 == 8195 || var2 == '\uf365' || var2 == '\uf380' || var2 == '\uf382' || var2 == '\uf383' || var2 == '\uf384' || Character.isWhitespace(var2);
  136.    }
  137. }
  138.