home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / HtmlPagerItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-18  |  1.7 KB  |  110 lines

  1. package com.sfs.html;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.util.Vector;
  8.  
  9. class HtmlPagerItem {
  10.    protected static final int TOP = 1;
  11.    protected static final int MIDDLE = 0;
  12.    protected static final int BOTTOM = -1;
  13.    private Color color;
  14.    private int length;
  15.    private HtmlImage image;
  16.    private int align;
  17.    private Font font;
  18.    private String text;
  19.  
  20.    protected int getAscent(FontMetrics var1) {
  21.       if (this.font != null) {
  22.          return var1.getMaxAscent();
  23.       } else if (this.image != null) {
  24.          int var2 = this.image.h;
  25.          if (this.color != null) {
  26.             var2 += 2;
  27.          }
  28.  
  29.          switch (this.align) {
  30.             case -1:
  31.                return var2;
  32.             case 0:
  33.                return var2 / 2;
  34.             case 1:
  35.                return -1;
  36.             default:
  37.                return 0;
  38.          }
  39.       } else {
  40.          return 7;
  41.       }
  42.    }
  43.  
  44.    protected HtmlPagerItem(Color var1, int var2) {
  45.       this.color = var1;
  46.       this.length = var2;
  47.    }
  48.  
  49.    protected HtmlPagerItem(Color var1, HtmlImage var2, int var3) {
  50.       this.color = var1;
  51.       this.image = var2;
  52.       this.align = var3;
  53.    }
  54.  
  55.    protected HtmlPagerItem(Color var1, Font var2, String var3) {
  56.       this.color = var1;
  57.       this.font = var2;
  58.       this.text = var3;
  59.    }
  60.  
  61.    protected void draw(Graphics var1, int var2, int var3, int var4, Vector var5) {
  62.       var1.setColor(this.color);
  63.       if (this.font != null) {
  64.          var1.setFont(this.font);
  65.          var1.drawString(this.text, var2, var3);
  66.       } else if (this.image != null) {
  67.          int var6 = this.image.h;
  68.          if (this.color != null) {
  69.             var6 += 2;
  70.          }
  71.  
  72.          switch (this.align) {
  73.             case -1:
  74.                var3 -= var6;
  75.                break;
  76.             case 0:
  77.                var3 -= var6 / 2;
  78.                break;
  79.             case 1:
  80.                var3 -= var4;
  81.                break;
  82.             default:
  83.                return;
  84.          }
  85.  
  86.          if (this.color != null) {
  87.             var1.drawRect(var2, var3, this.image.w + 2, var6);
  88.             ++var2;
  89.             ++var3;
  90.          }
  91.  
  92.          this.image.x = var2;
  93.          this.image.y = var3;
  94.          var5.addElement(this.image);
  95.       } else {
  96.          var1.drawLine(var2, var3, var2 + this.length, var3);
  97.       }
  98.    }
  99.  
  100.    protected int getHeight(FontMetrics var1) {
  101.       if (this.font != null) {
  102.          return var1.getHeight();
  103.       } else if (this.image != null) {
  104.          return this.color != null ? this.image.h + 2 : this.image.h;
  105.       } else {
  106.          return 14;
  107.       }
  108.    }
  109. }
  110.