home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 27 / CDROM27.iso / share / wnt / jig / data1.cab / Program_Executable_Files / lib / jig.jar / ImageCanvas.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-19  |  3.6 KB  |  141 lines

  1. import java.awt.Canvas;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Font;
  7. import java.awt.Frame;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.MediaTracker;
  11. import java.awt.Toolkit;
  12. import java.awt.Window;
  13.  
  14. class ImageCanvas extends Canvas {
  15.    Container pappy;
  16.    Image image;
  17.    Dimension size;
  18.    // $FF: renamed from: w int
  19.    int field_0;
  20.    // $FF: renamed from: h int
  21.    int field_1;
  22.    boolean trueSizeKnown = true;
  23.    MediaTracker tracker;
  24.    String[] legend;
  25.    Font font;
  26.    Color color;
  27.    int posnX;
  28.    int posnY;
  29.    int incr = 15;
  30.  
  31.    public ImageCanvas(Image var1, Container var2, int var3, int var4) {
  32.       if (var1 == null) {
  33.          System.err.println(BrowserOptions.messages.getString("CanvasGotI"));
  34.       } else {
  35.          this.image = var1;
  36.          this.pappy = var2;
  37.          this.field_0 = var3;
  38.          this.field_1 = var4;
  39.          this.tracker = new MediaTracker(this);
  40.          this.tracker.addImage(var1, 0);
  41.          this.size = new Dimension(this.field_0, this.field_1);
  42.       }
  43.    }
  44.  
  45.    public Dimension getPreferredSize() {
  46.       return this.getMinimumSize();
  47.    }
  48.  
  49.    public Dimension getMinimumSize() {
  50.       return this.size;
  51.    }
  52.  
  53.    public void paint(Graphics var1) {
  54.       if (this.image != null && !this.trueSizeKnown) {
  55.          int var2 = this.image.getWidth(this);
  56.          int var3 = this.image.getHeight(this);
  57.          if (this.tracker.checkAll(true)) {
  58.             this.trueSizeKnown = true;
  59.             if (this.tracker.isErrorAny()) {
  60.                System.err.println(BrowserOptions.messages.getString("ErrorLoadi") + " " + this.image);
  61.             }
  62.          }
  63.  
  64.          if (var2 > 0 && this.field_0 != var2 || var3 > 0 && this.field_1 != var3) {
  65.             this.field_0 = var2;
  66.             this.field_1 = var3;
  67.             this.size = new Dimension(this.field_0, this.field_1);
  68.             ((Component)this).setSize(this.field_0, this.field_1);
  69.             this.pappy.validate();
  70.          }
  71.       }
  72.  
  73.       this.image.getWidth(this);
  74.       this.image.getHeight(this);
  75.       var1.drawImage(this.image, 0, 0, this);
  76.       var1.drawRect(0, 0, this.field_0 - 1, this.field_1 - 1);
  77.       int var8 = 0;
  78.       int var9 = 0;
  79.       if (this.legend != null) {
  80.          for(int var4 = 0; var4 < this.legend.length; var8 += this.incr) {
  81.             if (var9 < this.legend[var4].length()) {
  82.                var9 = this.legend[var4].length();
  83.             }
  84.  
  85.             ++var4;
  86.          }
  87.       }
  88.  
  89.       int var10 = 0;
  90.       if (this.font != null) {
  91.          var10 = var9 * (this.font.getSize() / 4);
  92.       }
  93.  
  94.       if (this.legend != null) {
  95.          int var5 = (this.field_1 - var8) / 4;
  96.          int var6 = (this.field_0 - var10) / 2;
  97.          var1.setFont(this.font);
  98.          var1.setColor(this.color);
  99.  
  100.          for(int var7 = 0; var7 < this.legend.length; var5 += this.incr) {
  101.             var1.drawString(this.legend[var7], var6, var5);
  102.             ++var7;
  103.          }
  104.       }
  105.  
  106.    }
  107.  
  108.    public ImageCanvas(Image var1, Container var2, int var3, int var4, String[] var5, Font var6, Color var7, int var8, int var9, int var10) {
  109.       if (var1 == null) {
  110.          System.err.println(BrowserOptions.messages.getString("CanvasGotI"));
  111.       } else {
  112.          this.legend = var5;
  113.          this.font = var6;
  114.          this.color = var7;
  115.          this.posnX = var8;
  116.          this.posnY = var9;
  117.          this.incr = var10;
  118.          this.image = var1;
  119.          this.pappy = var2;
  120.          this.field_0 = var3;
  121.          this.field_1 = var4;
  122.          this.tracker = new MediaTracker(this);
  123.          this.tracker.addImage(var1, 0);
  124.          this.size = new Dimension(this.field_0, this.field_1);
  125.       }
  126.    }
  127.  
  128.    static void display(String var0) {
  129.       Frame var1 = new Frame();
  130.       Runtime.getRuntime();
  131.       Image var2 = Toolkit.getDefaultToolkit().getImage((!BrowserOptions.jigHome.equals("") ? BrowserOptions.jigHome : System.getProperty("user.dir")) + System.getProperty("file.separator") + var0);
  132.       ImageCanvas var3 = new ImageCanvas(var2, var1, 390, 450);
  133.       ((Container)var1).add(var3);
  134.       ((Window)var1).show();
  135.    }
  136.  
  137.    public static void main(String[] var0) {
  138.       display(var0[0]);
  139.    }
  140. }
  141.