home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / JCLASS.BIN / KLG.JAR / jclass / util / JCImageCreator.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-12-05  |  1.7 KB  |  96 lines

  1. package jclass.util;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Image;
  6. import java.awt.image.MemoryImageSource;
  7.  
  8. public class JCImageCreator {
  9.    protected int curRow;
  10.    protected int width;
  11.    protected int height;
  12.    protected int[] colorMap;
  13.    protected int[] pixels;
  14.    protected Component comp;
  15.  
  16.    public JCImageCreator(Component var1, int var2, int var3) {
  17.       this(var1);
  18.       this.setSize(var2, var3);
  19.    }
  20.  
  21.    public JCImageCreator(Component var1) {
  22.       this.colorMap = new int[256];
  23.       this.colorMap[32] = 0;
  24.       this.comp = var1;
  25.    }
  26.  
  27.    public synchronized void clear() {
  28.       if (this.width != 0 && this.height != 0) {
  29.          this.pixels = new int[this.width * this.height];
  30.       }
  31.  
  32.       this.curRow = 0;
  33.    }
  34.  
  35.    public synchronized Image create() {
  36.       if (this.pixels == null) {
  37.          return null;
  38.       } else {
  39.          MemoryImageSource var1 = new MemoryImageSource(this.width, this.height, this.pixels, 0, this.width);
  40.          Image var2 = this.comp.createImage(var1);
  41.          return JCUtilConverter.waitForImage(this.comp, var2) ? var2 : null;
  42.       }
  43.    }
  44.  
  45.    public synchronized Image create(String[] var1) {
  46.       this.clear();
  47.       this.setPixels(var1);
  48.       return this.create();
  49.    }
  50.  
  51.    public synchronized void setColor(char var1, int var2) {
  52.       if (var1 < 256) {
  53.          this.colorMap[var1] = var2;
  54.       }
  55.  
  56.    }
  57.  
  58.    public synchronized void setColor(char var1, Color var2) {
  59.       this.setColor(var1, var2.getRGB());
  60.    }
  61.  
  62.    public synchronized void setSize(int var1, int var2) {
  63.       if (var1 != this.width || var2 != this.height) {
  64.          this.width = var1;
  65.          this.height = var2;
  66.          if (var1 == 0 && var2 == 0) {
  67.             this.pixels = null;
  68.          } else {
  69.             this.pixels = new int[var1 * var2];
  70.          }
  71.       }
  72.    }
  73.  
  74.    public synchronized void setPixels(String[] var1) {
  75.       for(int var2 = 0; var2 < var1.length && var2 < this.height; ++var2) {
  76.          this.setPixels(this.curRow++, var1[var2]);
  77.       }
  78.  
  79.    }
  80.  
  81.    public synchronized void setPixels(String var1) {
  82.       this.setPixels(this.curRow++, var1);
  83.    }
  84.  
  85.    public synchronized void setPixels(int var1, String var2) {
  86.       if (var2.length() == this.width) {
  87.          int var3 = 0;
  88.  
  89.          for(int var4 = var1 * this.width; var3 < this.width; ++var3) {
  90.             this.pixels[var3 + var4] = this.colorMap[var2.charAt(var3)];
  91.          }
  92.  
  93.       }
  94.    }
  95. }
  96.