home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin2000.exe / OCTexmlh.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  9.9 KB  |  714 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.LayoutManager;
  11. import java.awt.Panel;
  12. import java.awt.Scrollbar;
  13. import java.util.Vector;
  14.  
  15. public class OCTexmlh extends Panel {
  16.    public int appWidth;
  17.    public int appHeight;
  18.    public Color bgColor = new Color(153, 153, 153);
  19.    int offimgx;
  20.    int offimgy;
  21.    int max_d;
  22.    private int m_yoffset = 5;
  23.    int actappx;
  24.    int actappy;
  25.    // $FF: renamed from: bo int
  26.    int field_0;
  27.    private Font m_font;
  28.    private Font[] m_cur_font;
  29.    // $FF: renamed from: fm java.awt.FontMetrics
  30.    FontMetrics field_1;
  31.    // $FF: renamed from: ds java.awt.Dimension
  32.    Dimension field_2 = new Dimension(0, 0);
  33.    Image off;
  34.    Graphics g_off;
  35.    Graphics g_erase;
  36.    Image erase;
  37.    boolean mouseIn = false;
  38.    boolean break_pause = false;
  39.    boolean tag = false;
  40.    boolean paint_called = false;
  41.    long next_time;
  42.    // $FF: renamed from: my int
  43.    int field_3;
  44.    int hLine = -1;
  45.    int l_h = -1;
  46.    int soff;
  47.    int[] m_size_pause;
  48.    int num_links;
  49.    int[] link_cords;
  50.    String[] link_urls;
  51.    int[] line_coords;
  52.    int[] re_draw;
  53.    int font_style;
  54.    int num_descrips;
  55.    int last_h = -1;
  56.    int cur_dline;
  57.    int hold_move;
  58.    int link_ref = 0;
  59.    boolean done_draw = false;
  60.    boolean first_run = true;
  61.    boolean paused;
  62.    boolean mdown = false;
  63.    boolean dragged = false;
  64.    private boolean m_def_size_extra = false;
  65.    private boolean[] m_size_extra;
  66.    private int m_def_align = 0;
  67.    private Color m_def_textcolor;
  68.    private Color m_bgcolor;
  69.    private Color m_def_hlcolor;
  70.    private int m_xoffset;
  71.    private String m_def_loadwhere;
  72.    private String m_offsbtext;
  73.    int i_h;
  74.    private int[] m_delay;
  75.    private Color[] m_textcolor;
  76.    private String[] m_desc;
  77.    private String[] m_linkurl;
  78.    private int[] m_align;
  79.    private String[] m_loadwhere;
  80.    private String[] def_pn;
  81.    private String[] def_pv;
  82.    private String[] spe_pn;
  83.    private Vector spe_pv;
  84.    int sb_width;
  85.    // $FF: renamed from: sb java.awt.Scrollbar
  86.    Scrollbar field_4;
  87.    Scrollbar hsb;
  88.    int scroll_y;
  89.    int scroll_x;
  90.    int sb_linedist;
  91.    int hsb_linedist;
  92.    boolean first_sb_run;
  93.    boolean first_hsb_run;
  94.    boolean use_sb;
  95.    boolean use_hsb;
  96.    int last_scroll_y;
  97.    int last_scroll_x;
  98.    int sEdge;
  99.    int sbImgWidth;
  100.    int sbImgHeight;
  101.  
  102.    public void reshape(int var1, int var2, int var3, int var4) {
  103.       if (var3 * var4 > 0) {
  104.          this.field_2 = new Dimension(var3, var4);
  105.          this.centerAppArea();
  106.          super.reshape(var1, var2, var3, var4);
  107.       }
  108.    }
  109.  
  110.    public boolean mouseEnter(Event var1, int var2, int var3) {
  111.       this.mouseIn = true;
  112.       return true;
  113.    }
  114.  
  115.    public void mCheck() {
  116.       for(int var1 = 0; var1 < this.num_links; ++var1) {
  117.          if (!this.mouseIn) {
  118.             this.hLine = -1;
  119.             this.chl(var1);
  120.             return;
  121.          }
  122.  
  123.          if (this.field_3 > this.link_cords[var1 * 3] + this.actappy && this.field_3 < this.link_cords[var1 * 3 + 1] + this.actappy) {
  124.             this.hLine = this.link_cords[var1 * 3 + 2];
  125.             this.link_ref = var1;
  126.             this.chl(var1);
  127.             return;
  128.          }
  129.  
  130.          if (var1 == this.num_links - 1) {
  131.             this.hLine = -1;
  132.             this.chl(var1);
  133.             return;
  134.          }
  135.       }
  136.  
  137.    }
  138.  
  139.    public boolean mouseExit(Event var1, int var2, int var3) {
  140.       this.mouseIn = false;
  141.       this.mCheck();
  142.       return true;
  143.    }
  144.  
  145.    private String getParameterSpecific(String var1, int var2) {
  146.       for(int var3 = 0; var3 < this.spe_pn.length; ++var3) {
  147.          if (this.spe_pn[var3].equals(var1)) {
  148.             String var4 = ((String[])this.spe_pv.elementAt(var2))[var3];
  149.             if (var4 != null && !var4.equals("") && !var4.equalsIgnoreCase("<default>")) {
  150.                return var4;
  151.             }
  152.  
  153.             return null;
  154.          }
  155.       }
  156.  
  157.       return null;
  158.    }
  159.  
  160.    OCTexmlh() {
  161.       this.m_def_textcolor = Color.black;
  162.       this.m_bgcolor = Color.white;
  163.       this.m_def_hlcolor = Color.blue;
  164.       this.m_xoffset = 5;
  165.       this.m_def_loadwhere = "_self";
  166.       this.m_offsbtext = "Java by OpenCube";
  167.       this.sb_width = 12;
  168.       this.sb_linedist = 1;
  169.       this.hsb_linedist = 1;
  170.       this.first_sb_run = true;
  171.       this.first_hsb_run = true;
  172.       this.use_sb = false;
  173.       this.use_hsb = false;
  174.       this.sEdge = 5;
  175.       ((Container)this).setLayout((LayoutManager)null);
  176.    }
  177.  
  178.    public void paint(Graphics var1) {
  179.       this.paint_called = true;
  180.       this.paintIt();
  181.    }
  182.  
  183.    public boolean mouseUp(Event var1, int var2, int var3) {
  184.       this.mdown = false;
  185.       if (this.dragged) {
  186.          this.dragged = false;
  187.          return true;
  188.       } else {
  189.          if (this.hLine != -1 && !this.link_urls[this.link_ref].equals("-1")) {
  190.          }
  191.  
  192.          return true;
  193.       }
  194.    }
  195.  
  196.    public void addSpecifics(String[] var1, Vector var2) {
  197.       this.spe_pn = var1;
  198.       this.spe_pv = var2;
  199.       this.initSpecifics();
  200.    }
  201.  
  202.    private String getParameterDefault(String var1) {
  203.       for(int var2 = 0; var2 < this.def_pn.length; ++var2) {
  204.          if (this.def_pn[var2].equals(var1)) {
  205.             return this.def_pv[var2];
  206.          }
  207.       }
  208.  
  209.       return null;
  210.    }
  211.  
  212.    private void initDefault() {
  213.       String var1 = this.getParameterDefault("font");
  214.       if (var1 != null) {
  215.          this.m_font = ocfontc.getFontSD(var1, ",");
  216.       } else {
  217.          this.m_font = new Font("Helvetica", 0, 12);
  218.       }
  219.  
  220.       var1 = this.getParameterDefault("textcolor");
  221.       if (var1 != null) {
  222.          this.m_def_textcolor = occcolor.ConvertColor(var1);
  223.       }
  224.  
  225.       var1 = this.getParameterDefault("bgcolor");
  226.       if (var1 != null) {
  227.          this.m_bgcolor = occcolor.ConvertColor(var1);
  228.       }
  229.  
  230.       var1 = this.getParameterDefault("bmargin");
  231.       if (var1 != null) {
  232.          this.m_yoffset = Integer.parseInt(var1);
  233.       }
  234.  
  235.       var1 = this.getParameterDefault("hlcolor");
  236.       if (var1 != null) {
  237.          this.m_def_hlcolor = occcolor.ConvertColor(var1);
  238.       }
  239.  
  240.       var1 = this.getParameterDefault("valign");
  241.       if (var1 != null) {
  242.          this.m_def_align = Integer.parseInt(var1);
  243.       }
  244.  
  245.    }
  246.  
  247.    private synchronized void paintIt() {
  248.       if (this.paint_called) {
  249.          Graphics var1 = ((Component)this).getGraphics();
  250.          if (this.first_run) {
  251.             ((Component)this).setBackground(this.bgColor);
  252.             if (this.field_2.width * this.field_2.height <= 0) {
  253.                return;
  254.             }
  255.  
  256.             this.first_run = false;
  257.             this.DrawScroll();
  258.             if (this.first_sb_run) {
  259.                if (this.use_sb) {
  260.                   this.field_4 = new Scrollbar();
  261.                   if (this.use_sb && this.use_hsb) {
  262.                      this.field_4.reshape(this.field_2.width - this.sb_width, 0, this.sb_width, this.field_2.height - this.sb_width);
  263.                   } else {
  264.                      this.field_4.reshape(this.field_2.width - this.sb_width, 0, this.sb_width, this.field_2.height);
  265.                   }
  266.  
  267.                   this.field_4.setBackground(Color.gray);
  268.                   ((Container)this).add(this.field_4);
  269.                   this.first_sb_run = false;
  270.                }
  271.             } else if (!this.use_sb) {
  272.                ((Container)this).remove(this.field_4);
  273.                this.field_4 = null;
  274.                this.first_sb_run = true;
  275.             } else if (this.use_sb && this.use_hsb) {
  276.                this.field_4.reshape(this.field_2.width - this.sb_width, 0, this.sb_width, this.field_2.height - this.sb_width);
  277.             } else {
  278.                this.field_4.reshape(this.field_2.width - this.sb_width, 0, this.sb_width, this.field_2.height);
  279.             }
  280.  
  281.             if (this.use_sb) {
  282.                this.field_4.setValues(this.field_4.getValue(), 1, 0, this.sbImgHeight - this.field_2.height);
  283.             }
  284.  
  285.             if (this.first_hsb_run) {
  286.                if (this.use_hsb) {
  287.                   this.hsb = new Scrollbar(0);
  288.                   if (this.use_sb && this.use_hsb) {
  289.                      this.hsb.reshape(0, this.field_2.height - this.sb_width, this.field_2.width - this.sb_width, this.sb_width);
  290.                   } else {
  291.                      this.hsb.reshape(0, this.field_2.height - this.sb_width, this.field_2.width, this.sb_width);
  292.                   }
  293.  
  294.                   this.hsb.setBackground(Color.gray);
  295.                   ((Container)this).add(this.hsb);
  296.                   this.first_hsb_run = false;
  297.                }
  298.             } else if (!this.use_hsb) {
  299.                ((Container)this).remove(this.hsb);
  300.                this.hsb = null;
  301.                this.first_hsb_run = true;
  302.             } else if (this.use_sb && this.use_hsb) {
  303.                this.hsb.reshape(0, this.field_2.height - this.sb_width, this.field_2.width - this.sb_width, this.sb_width);
  304.             } else {
  305.                this.hsb.reshape(0, this.field_2.height - this.sb_width, this.field_2.width, this.sb_width);
  306.             }
  307.  
  308.             if (this.use_hsb) {
  309.                this.hsb.setValues(this.hsb.getValue(), 1, 0, this.sbImgWidth - this.field_2.width);
  310.                return;
  311.             }
  312.          } else {
  313.             var1.drawImage(this.off, this.scroll_x, this.scroll_y, this);
  314.             if (this.use_sb && this.use_hsb) {
  315.                var1.setColor(Color.lightGray);
  316.             } else {
  317.                var1.setColor(new Color(153, 153, 153));
  318.             }
  319.  
  320.             var1.fillRect(this.field_2.width - this.sb_width, this.field_2.height - this.sb_width, this.sb_width, this.sb_width);
  321.          }
  322.  
  323.       }
  324.    }
  325.  
  326.    public void setAppDimensions(int var1, int var2) {
  327.       if (var1 != this.appWidth || var2 != this.appHeight) {
  328.          this.appWidth = var1;
  329.          this.appHeight = var2;
  330.          ((Component)this).getGraphics();
  331.          ((Component)this).setBackground(this.bgColor);
  332.          ((Component)this).repaint();
  333.       }
  334.  
  335.       this.appWidth = var1;
  336.       this.appHeight = var2;
  337.       this.centerAppArea();
  338.    }
  339.  
  340.    public void resize(Dimension var1) {
  341.       if (var1.width * var1.height > 0) {
  342.          this.field_2 = var1;
  343.          this.centerAppArea();
  344.          super.resize(var1);
  345.       }
  346.    }
  347.  
  348.    public void resize(int var1, int var2) {
  349.       if (var1 * var2 > 0) {
  350.          this.field_2 = new Dimension(var1, var2);
  351.          this.centerAppArea();
  352.          super.resize(var1, var2);
  353.       }
  354.    }
  355.  
  356.    public void initSpecifics() {
  357.       boolean var2 = false;
  358.       this.num_descrips = this.spe_pv.size();
  359.       this.m_cur_font = new Font[this.num_descrips];
  360.       this.m_delay = new int[this.num_descrips];
  361.       this.m_textcolor = new Color[this.num_descrips];
  362.       this.m_desc = new String[this.num_descrips];
  363.       this.m_linkurl = new String[this.num_descrips];
  364.       this.m_align = new int[this.num_descrips];
  365.       this.m_loadwhere = new String[this.num_descrips];
  366.       this.m_size_pause = new int[this.num_descrips];
  367.       this.m_size_extra = new boolean[this.num_descrips];
  368.       this.line_coords = new int[this.num_descrips];
  369.       this.re_draw = new int[this.num_descrips];
  370.  
  371.       for(int var9 = 0; var9 < this.num_descrips; ++var9) {
  372.          String var1 = this.getParameterSpecific("desc", var9);
  373.          if (var1 != null) {
  374.             this.m_desc[var9] = var1;
  375.          } else {
  376.             this.m_desc[var9] = " ";
  377.          }
  378.  
  379.          var1 = this.getParameterSpecific("loadwhere", var9);
  380.          if (var1 != null) {
  381.             this.m_loadwhere[var9] = var1;
  382.          } else {
  383.             this.m_loadwhere[var9] = this.m_def_loadwhere;
  384.          }
  385.  
  386.          var1 = this.getParameterSpecific("font", var9);
  387.          if (var1 != null) {
  388.             this.m_cur_font[var9] = ocfontc.getFontSD(var1, ",");
  389.          } else {
  390.             this.m_cur_font[var9] = this.m_font;
  391.          }
  392.  
  393.          var1 = this.getParameterSpecific("align", var9);
  394.          if (var1 != null) {
  395.             this.m_align[var9] = Integer.parseInt(var1);
  396.          } else {
  397.             this.m_align[var9] = this.m_def_align;
  398.          }
  399.  
  400.          var1 = this.getParameterSpecific("textcolor", var9);
  401.          if (var1 != null) {
  402.             this.m_textcolor[var9] = occcolor.ConvertColor(var1);
  403.          } else {
  404.             this.m_textcolor[var9] = this.m_def_textcolor;
  405.          }
  406.  
  407.          var1 = this.getParameterSpecific("desturl", var9);
  408.          if (var1 != null) {
  409.             ++this.num_links;
  410.             this.m_linkurl[var9] = var1;
  411.          } else {
  412.             this.m_linkurl[var9] = "-1";
  413.          }
  414.  
  415.          var1 = this.getParameterSpecific("sizepause", var9);
  416.          if (var1 != null) {
  417.             this.m_size_pause[var9] = Integer.parseInt(var1);
  418.          } else {
  419.             this.m_size_pause[var9] = 0;
  420.          }
  421.       }
  422.  
  423.       this.link_cords = new int[this.num_links * 3];
  424.       this.link_urls = new String[this.num_links];
  425.    }
  426.  
  427.    public String CheckSPart(String var1) {
  428.       return var1.trim().length() == 0 ? " " : var1.trim();
  429.    }
  430.  
  431.    public void DrawScroll() {
  432.       int var1 = this.sEdge;
  433.       int var2 = this.sEdge;
  434.       int var3 = 0;
  435.       int var4 = this.sEdge;
  436.       boolean var5 = false;
  437.       int var6 = 0;
  438.  
  439.       do {
  440.          var1 = this.sEdge;
  441.          var4 = 0;
  442.  
  443.          for(int var7 = 0; var7 < this.num_descrips; ++var7) {
  444.             if (var6 == 0) {
  445.                this.field_1 = ((Component)this).getFontMetrics(this.m_cur_font[var7]);
  446.                if (this.m_size_pause[var7] == 1) {
  447.                   var4 = var1;
  448.                   var5 = true;
  449.                } else if (!var5) {
  450.                   var4 = var1;
  451.                }
  452.  
  453.                var1 += this.field_1.stringWidth(this.m_desc[var7]);
  454.                if (this.field_1.getDescent() > this.max_d) {
  455.                   this.max_d = this.field_1.getDescent();
  456.                }
  457.  
  458.                if (var7 == this.m_desc.length - 1) {
  459.                   this.i_h = var1 + 5;
  460.                   double var8 = (double)this.i_h;
  461.                   double var10 = (double)this.appWidth;
  462.                   int var12 = 0;
  463.                   if (var8 / var10 - (double)((int)(var8 / var10)) == (double)0.0F) {
  464.                      var12 = (int)(var8 / var10);
  465.                   } else {
  466.                      var12 = (int)(var8 / var10) + 1;
  467.                   }
  468.  
  469.                   this.i_h = var12 * this.appWidth;
  470.                   if (var12 > 1) {
  471.                      this.field_0 = 7;
  472.                   } else {
  473.                      this.field_0 = 0;
  474.                   }
  475.  
  476.                   this.sbImgWidth = this.i_h + this.sEdge * 2;
  477.                   this.sbImgHeight = this.appHeight + this.sEdge * 2 + this.field_0;
  478.                   this.off = ((Component)this).createImage(this.sbImgWidth, this.sbImgHeight);
  479.                   this.g_off = this.off.getGraphics();
  480.                   this.g_off.setColor(this.bgColor);
  481.                   this.g_off.fillRect(0, 0, this.sbImgWidth, this.sbImgHeight);
  482.                   this.g_off.setColor(this.m_bgcolor);
  483.                   this.g_off.fillRect(this.sEdge, this.sEdge, this.i_h, this.appHeight);
  484.                   if (var12 > 1) {
  485.                      this.g_off.setColor(Color.black);
  486.  
  487.                      for(int var13 = 0; var13 <= var12; ++var13) {
  488.                         this.g_off.drawLine(var13 * this.appWidth + this.sEdge, this.appHeight + this.sEdge + 2, var13 * this.appWidth + this.sEdge, this.appHeight + this.sEdge + 5);
  489.                      }
  490.  
  491.                      this.g_off.drawLine(this.sEdge, this.sEdge + this.appHeight + 2, this.i_h + this.sEdge, this.sEdge + this.appHeight + 2);
  492.                   }
  493.  
  494.                   if (this.field_2.width < this.i_h) {
  495.                      this.use_hsb = true;
  496.                   } else {
  497.                      this.use_hsb = false;
  498.                      this.last_scroll_x = 0;
  499.                   }
  500.  
  501.                   if (this.field_2.height < this.appHeight + this.field_0) {
  502.                      this.use_sb = true;
  503.                   } else {
  504.                      this.use_sb = false;
  505.                      this.last_scroll_y = 0;
  506.                   }
  507.                } else if (this.m_size_pause[var7] == 2 && var1 - var4 < this.appWidth) {
  508.                   var1 = var1 + (this.appWidth - (var1 - var4)) + 1;
  509.                   var5 = false;
  510.                }
  511.             } else {
  512.                this.g_off.setFont(this.m_cur_font[var7]);
  513.                this.field_1 = this.g_off.getFontMetrics(this.m_cur_font[var7]);
  514.                var2 = var1;
  515.                if (this.m_size_pause[var7] == 1) {
  516.                   var4 = var1;
  517.                   var5 = true;
  518.                } else if (!var5) {
  519.                   var4 = var1;
  520.                }
  521.  
  522.                this.line_coords[var7] = var1;
  523.                var1 += this.field_1.stringWidth(this.m_desc[var7]);
  524.                this.g_off.setColor(this.m_textcolor[var7]);
  525.                this.g_off.drawString(this.m_desc[var7], var2, this.appHeight + this.sEdge - this.max_d - this.m_yoffset);
  526.                if (this.num_links > 0 && this.m_linkurl[var7].length() > 3) {
  527.                   this.link_cords[var3 * 3] = var2;
  528.                   this.link_cords[var3 * 3 + 1] = var1;
  529.                   this.link_cords[var3 * 3 + 2] = var7;
  530.                   ++var3;
  531.                }
  532.  
  533.                if (var1 - var4 < this.appWidth && this.m_size_pause[var7] == 2) {
  534.                   var1 = var1 + (this.appWidth - (var1 - var4)) + 1;
  535.                   var5 = false;
  536.                }
  537.             }
  538.          }
  539.  
  540.          ++var6;
  541.       } while(var6 < 2);
  542.  
  543.       this.done_draw = true;
  544.       var6 = 0;
  545.       int var18 = 0;
  546.       if (this.use_sb) {
  547.          var6 = this.sb_width;
  548.       }
  549.  
  550.       if (this.use_hsb) {
  551.          var18 = this.sb_width;
  552.       }
  553.  
  554.       this.offimgx = (this.field_2.width - var6 - this.sbImgWidth) / 2;
  555.       this.offimgy = (this.field_2.height - var18 - this.sbImgHeight) / 2;
  556.       this.scroll_y = this.offimgy;
  557.       this.scroll_x = this.offimgx;
  558.       this.actappx = this.offimgx;
  559.       this.actappy = this.offimgy + this.field_0;
  560.       if (this.use_sb) {
  561.          this.scroll_y = this.last_scroll_y;
  562.       }
  563.  
  564.       if (this.use_hsb) {
  565.          this.scroll_x = this.last_scroll_x;
  566.       }
  567.  
  568.       this.paintIt();
  569.    }
  570.  
  571.    public boolean mouseDown(Event var1, int var2, int var3) {
  572.       this.mdown = true;
  573.       this.hold_move = this.field_3;
  574.       this.cur_dline = 0;
  575.       if (this.hLine == -1 && this.paused) {
  576.          this.break_pause = true;
  577.       }
  578.  
  579.       return true;
  580.    }
  581.  
  582.    public Dimension getMinimumSize() {
  583.       return new Dimension(this.appWidth + 15, this.appHeight + 15);
  584.    }
  585.  
  586.    public Dimension getPreferredSize() {
  587.       return new Dimension(this.appWidth + 20, this.appHeight + 15);
  588.    }
  589.  
  590.    private void chl(int var1) {
  591.       if (this.l_h != this.hLine) {
  592.          if (this.l_h != -1) {
  593.             this.method_0(this.l_h, this.m_textcolor[this.l_h]);
  594.          }
  595.  
  596.          if (this.hLine != -1) {
  597.             this.method_0(this.hLine, this.m_def_hlcolor);
  598.          }
  599.  
  600.          if (this.paused) {
  601.             this.soff = 1;
  602.          } else {
  603.             this.soff = 0;
  604.          }
  605.  
  606.          this.paintIt();
  607.       }
  608.  
  609.       this.l_h = this.hLine;
  610.    }
  611.  
  612.    public void addDefaults(String[] var1, String[] var2) {
  613.       this.def_pn = var1;
  614.       this.def_pv = var2;
  615.       this.initDefault();
  616.    }
  617.  
  618.    private void centerAppArea() {
  619.       this.first_run = true;
  620.       this.paintIt();
  621.    }
  622.  
  623.    public boolean handleEvent(Event var1) {
  624.       boolean var2 = false;
  625.       boolean var3 = false;
  626.       if (var1.target == this.field_4) {
  627.          if (var1.id != 602 && var1.id != 601 && var1.id != 605) {
  628.             if (var1.id == 604 || var1.id == 603) {
  629.                this.scroll_y = -(this.field_4.getValue() * this.sb_linedist);
  630.                this.field_4.setValue(this.field_4.getValue());
  631.                var2 = true;
  632.             }
  633.          } else {
  634.             this.scroll_y = -(this.field_4.getValue() * this.sb_linedist);
  635.             this.field_4.setValue(this.field_4.getValue());
  636.             var2 = true;
  637.          }
  638.  
  639.          if (var2) {
  640.             if (this.scroll_y >= 0) {
  641.                this.scroll_y = 0;
  642.             } else if (this.scroll_y + this.sbImgHeight < this.field_2.height) {
  643.                this.scroll_y = -this.sbImgHeight + this.field_2.height;
  644.             }
  645.  
  646.             this.last_scroll_y = this.scroll_y;
  647.             this.paintIt();
  648.             var2 = false;
  649.          }
  650.  
  651.          return true;
  652.       } else if (var1.target != this.hsb) {
  653.          return super.handleEvent(var1);
  654.       } else {
  655.          if (var1.id != 602 && var1.id != 601 && var1.id != 605) {
  656.             if (var1.id == 604 || var1.id == 603) {
  657.                this.scroll_x = -(this.hsb.getValue() * this.hsb_linedist);
  658.                this.hsb.setValue(this.hsb.getValue());
  659.                var3 = true;
  660.             }
  661.          } else {
  662.             this.scroll_x = -(this.hsb.getValue() * this.hsb_linedist);
  663.             this.hsb.setValue(this.hsb.getValue());
  664.             var3 = true;
  665.          }
  666.  
  667.          if (var3) {
  668.             if (this.scroll_x >= 0) {
  669.                this.scroll_x = 0;
  670.             } else if (this.scroll_x + this.sbImgWidth < this.field_2.width) {
  671.                this.scroll_x = -this.sbImgWidth + this.field_2.width;
  672.             }
  673.  
  674.             this.last_scroll_x = this.scroll_x;
  675.             this.paintIt();
  676.             var3 = false;
  677.          }
  678.  
  679.          return true;
  680.       }
  681.    }
  682.  
  683.    // $FF: renamed from: HL (int, java.awt.Color) void
  684.    public void method_0(int var1, Color var2) {
  685.       int var3 = this.re_draw[var1];
  686.       this.g_off.setFont(this.m_cur_font[var1]);
  687.       this.field_1 = this.g_off.getFontMetrics(this.m_cur_font[var1]);
  688.       this.g_off.setColor(var2);
  689.       String[] var4 = ocwordw.WrapText(this.m_desc[var1], this.appWidth - this.m_xoffset * 2, this.field_1);
  690.  
  691.       for(int var5 = 0; var5 < var4.length; ++var5) {
  692.          var3 += this.field_1.getHeight();
  693.          if (this.m_align[var1] == 1) {
  694.             this.g_off.drawString(var4[var5], (this.appWidth - this.field_1.stringWidth(var4[var5])) / 2, var3);
  695.          } else if (this.m_align[var1] == 0) {
  696.             this.g_off.drawString(var4[var5], this.m_xoffset, var3);
  697.          } else if (this.m_align[var1] == 2) {
  698.             this.g_off.drawString(var4[var5], this.appWidth - this.m_xoffset - this.field_1.stringWidth(var4[var5]), var3);
  699.          }
  700.       }
  701.  
  702.       this.paintIt();
  703.    }
  704.  
  705.    public boolean mouseMove(Event var1, int var2, int var3) {
  706.       this.field_3 = var3;
  707.       if (this.paused) {
  708.          this.mCheck();
  709.       }
  710.  
  711.       return true;
  712.    }
  713. }
  714.